试图理解java中的类继承
发布时间:2020-12-15 08:26:05 所属栏目:Java 来源:网络整理
导读:让我说我有超级班 public class SuperSub { public void overideThisMethod(){ System.out.println("Printed from Superclass"); }} 我有一个像这样的子类, public class SubClass2 extends SuperSub { @Override public void overideThisMethod(){ System.o
让我说我有超级班
public class SuperSub { public void overideThisMethod(){ System.out.println("Printed from Superclass"); } } 我有一个像这样的子类, public class SubClass2 extends SuperSub { @Override public void overideThisMethod(){ System.out.println("from subclass2"); } public static void main(String[] args){ SubClass2 subClass2= new SubClass2(); subClass2.overideThisMethod(); SuperSub superSub = new SuperSub(); superSub.overideThisMethod(); } } 我从运行程序时得到输出: run: from subclass2 Printed from Superclass 输出不应该是, run: from subclass2 from subclass2 非常感谢任何澄清,谢谢! 解决方法
扩展(也称为继承)不会修改超类,但实际上会创建一个带有您定义的扩展的新类,例如覆盖它.
因此,两个类都存在,每个类都有自己的逻辑. 在这里,您正在创建一个名为SuperSub的类,它打印“从超类打印”.然后你使用它作为基础创建另一个类SubClass2,它“掩盖”(a.k.a.覆盖)基本行为,在这种情况下通过打印“from subclass2”而不是. 这样,如果你创建一个类SuperSub的对象,它仍然会表现为SuperSub.分别如果你创建了一个SubClass2类的对象,它的行为就像SuperSub一样,你在SubClass2中定义了“扩展”(在这种情况下是被覆盖的行为). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |