And let me explain why I want this,
  say I have a class which has method
  test() and it's can be overriden by
  sub classes, some cases I want the
  overriden test() and in some cases
  test() of super class itself, there
  are many ways to do this, it will be
  helpful if anyone can be best
  solution.
If your subclass overrides test(), then it overrides test() - this is the whole point of object inheritance.  You just call methods on the object, which are dynamically resolved to the appropriate implementation based on the object's runtime class.  That's the beauty of polymorphic typing, in fact, the caller doesn't have to know about any of this at all, and the subclasses determine how their behaviour differs from the superclass.  
If you sometimes want it to act as its superclass method and sometimes want it to act as its subclass method, then you need to provide the context required to do this.  You could either define two test-type methods; one which is never overridden and so always returns the superclass' behaviour (you can even mark the definition with final to ensure it's not overridden), and your normal one which is overridden as appropriate by the subclasses.
Alternatively, if there is some contextual information available, you can let the subclasses decide how to handle this; their implementation(s) could check some proeprty, for example, and based on that decide whether to call super.test() or proceed with their own overridden implementation.
Which one you choose depends on conceptually whether your main method (i.e. the caller), or the (sub)class objects themselves, are going to be in the best position to judge whether the superclass' method should be called or not.
But in no case can you override a method and expect it to magically sometimes not be overridden.