package myabstract.inherits.concrete;
class GrandPa{
public void mymethod() {
System.out.println("ur inside grand pa method");
}
}
-------------
package myabstract.inherits.concrete;
abstract class Pa extends GrandPa{
public abstract void mymethod();
}
-------------
package myabstract.inherits.concrete;
public class Son extends Pa{
public void mymethod(){
System.out.println("Its now in Son's method");
}
}
--------------
package myabstract.inherits.concrete;
public class
Test {
public static void main(
String args[]) {
Pa b1=new Son();
b1.mymethod();
System.out.println(b1.getClass());
GrandPa b2 = new GrandPa();
b2.mymethod();
System.out.println(b2.getClass());
}
}
--------------
I think the above code is self-explanatory.
We can have an abstract class override a concrete method in its super class.
by the way, can anybody tell me how to invoke the GrandPa's method using Son's instance.