(java)超类s=新子类
父类:(java)超类s=新子类,java,Java,父类: public class superClass { private void m1() { System.out.println("SuperClass's m1()"); } public void m2() { System.out.println("SuperClass's m2()"); m1(); } } 儿童班: public class Modify extends superClass
public class superClass {
private void m1() {
System.out.println("SuperClass's m1()");
}
public void m2() {
System.out.println("SuperClass's m2()");
m1();
}
}
儿童班:
public class Modify extends superClass {
public void m1() {
System.out.println("Modify's method1");
}
public static void main(String args[]) {
superClass s = new Modify();
s.m2();
}
}
我何时使用:
superClass s = new Modify();
而不是:
Modify s = new Modify();
是否可以在左侧将s声明为超类,但在右侧调用“new Modify()”?
如果我们将s声明为Modify类,难道我们不应该只调用'newmodify()'吗
是否可以在左侧将s声明为超类,但
在右侧调用“new Modify()”
是的,这是可能的,在Java中称为多态行为
如果我们将s声明为
修改类
由于Modify
是超类的子类,因此它继承了所有超类公共方法。所以,调用超类公共方法是完全可以的,因为所有公共方法都是由子类继承的。这在Java中称为继承
阅读更多关于和的内容,然后您将了解其用法它是一种对子类对象的多态性超类引用
你为什么要这样做?
Super s = new Child();
从s中,您可以调用super的所有方法,因为它指向一个子对象,而子对象is-a
super,您也可以使用被重写的子对象的方法。您可以运行并检查行为:)我什么时候使用它们?