abstract class SuperParent
{
public abstract void Show();
public void Display()
{
System.out.println("HI............I m ur grandpa and in Display()");
}
}
abstract class Parent extends SuperParent
{
public abstract void Detail();
public void Show()
{
System.out.println("implemented abstract Show()method of Superparent in parent thru super");
}
public void Display()
{
System.out.println("Override display() method of Superparent in parent thru super");
}
}
public class Child extends Parent
{
Child()
{
super.Show();
super.Display();
}
public void Show()
{
System.out.println("Override show() method of parent in Child");
}
public void Detail()
{
System.out.println("implemented abstract Detail()method of parent ");
}
public void Display()
{
System.out.println("Override display() method of Superparent and Parent in child ");
}
public static void main(String[] args) {
Child c1= new Child();
c1.Show();
c1.Display();
Parent p1=new Child();
p1.Detail();
p1.Display();
p1.Show();
}
}
1つの抽象メソッドshow()と1つの具象メソッドDisplay()を使用して抽象クラスsuperparentを作成します。次に、1つの抽象メソッドdetail()と具象メソッドdisplay()を使用してsuperparentを拡張し、superparentからオーバーライドしてshowを実装します。 ()スーパーペアレントで抽象化されたメソッド、今私は子クラスを作成して親を拡張し、親で抽象化されたメソッドDetail()を実装し、親とスーパーペアレントにあるdisplay()メソッドをオーバーライドし、親にあるshow()をオーバーライドします。ここで、子のインスタンスを作成してすべてのメソッドを実行すると、すべての子メソッドが呼び出されます。親メソッドを実行する場合は、コンストラクターでsuper.parentメソッドを使用し、正常に実行します。ただし、superparentメソッドdisplay()を実行する方法子クラスから。