Java 如何从子类使用superparent类方法
我用一个抽象方法show()和一个具体方法Display()创建了一个抽象类superparent。现在我们用一个抽象方法detail()和具体方法Display()创建了一个父类来扩展superparent,它被superparent覆盖,并实现了在superparent中抽象的show()方法,现在,我创建了一个子类extensedparent,其中implementmethoddetail()在Parent中是抽象的,overidedisplay()方法在Parent中是抽象的,superparent和overideshow()在Parent中是抽象的。现在我创建了一个child实例并运行all方法,它调用all child方法,很好。如果我们想运行parent方法,那么我们在构造函数中使用super.parent方法,运行fine。但是我如何从子类运行superparent方法display() 这是Java语言不支持的 您必须从Java 如何从子类使用superparent类方法,java,inheritance,abstract-class,Java,Inheritance,Abstract Class,我用一个抽象方法show()和一个具体方法Display()创建了一个抽象类superparent。现在我们用一个抽象方法detail()和具体方法Display()创建了一个父类来扩展superparent,它被superparent覆盖,并实现了在superparent中抽象的show()方法,现在,我创建了一个子类extensedparent,其中implementmethoddetail()在Parent中是抽象的,overidedisplay()方法在Parent中是抽象的,super
Parent
调用SuperParent.show()
,并从Child
调用此代码:
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();
}
}
然后打电话
abstract class Parent extends SuperParent {
...
public void superParentShow() {
super.Show();
}
}
从子项
相关问题:
Parent
调用SuperParent.show()
,并从Child
调用此代码:
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();
}
}
然后打电话
abstract class Parent extends SuperParent {
...
public void superParentShow() {
super.Show();
}
}
从子项
相关问题: