class A{
m2(){
}
}
class B extends A{
m2(){
}
}
class c extends B{
m2(){
}
}
class my_class extends c{
m2(){
}
pulic static void main(){
...My_class a = new my_class();
super.super.super.m2(); is this is leagal
if not find what is the legal procedure in order to call A's
version of m2();
}
Answer Posted / ranganathkini
No it is illegal to call:
super.super.super.m2();
If the implementation of m2() defined by class A has to be
called from within my_class's implementation of m2(), the
following change must can be made:
class A {
public void m2() {
// call the protected implementation
m2Impl();
}
// a protected implementation of A's m2() method
// giving the implementation a protected access
// allows only subclasses to see the method
// and remains inaccessible to the rest of the world
protected void m2Impl() {
System.out.println( "A.m2() invoked" );
}
}
class B extends A {
public void m2() {
System.out.println( "B.m2() invoked" );
}
}
class C extends B {
public void m2() {
System.out.println( "C.m2() invoked" );
}
}
class my_class extends C {
public void m2() {
// call A's protected implementation
m2Impl();
}
}
public class TestSuperSuper {
public static void main( String[] args ) {
my_class mc = new my_class();
mc.m2();
}
}
Hope it helps! :-)
| Is This Answer Correct ? | 10 Yes | 2 No |
Post New Answer View All Answers
What is gui programming?
What is the difference between method overriding and overloading?
What is used of static keyword in java?
What is a priority queue java?
Can we extend singleton class?
Can we create more than one object singleton class?
How do you do exponents in java?
Explain why wait(), notify() and notifyall() methods are in object class rather than in thread class?
What is io stream in java?
What is the purpose of return statement?
Why we used vector class?
What is string [] java?
What is a nonetype?
What is autoboxing in java?
How do I enable java in safari?