07-继承与接口动手动脑及课后实验性问题总结
Posted 蘑菇蘑菇终于开花了
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07-继承与接口动手动脑及课后实验性问题总结相关的知识,希望对你有一定的参考价值。
一.运行TestInherits.java示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大!
class Grandparent { /*public Grandparent() { System.out.println("GrandParent Created"); }*/ public Grandparent(String string) { System.out.println("GrandParent Created.string"+string); } } class Parent extends Grandparent{ public Parent(){ super("Hello.Grandparent");//调用有参数的函数,继承父类 System.out.println("Parent Created"); //super("Hello.Grandparent");//必须放在第一句 } } class Child extends Parent{ public Child(){ System.out.println("Child Created"); } } public class TestInherits { public static void main(String[] args) { // TODO Auto-generated method stub Child c=new Child(); } }
结论:通过super调用基类构造方法,必须是子类构造方法中的第一个语句。
二.动手动脑:请自行编写代码测试以下特性:在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。
package Work; class A{ public A(){ System.out.println("Class A."); } public A(String string){ System.out.println("Class A."+string); }} class B extends A{ public B(){ super("string "); System.out.print("Class B."); } } public class Test01 extends B { public static void main(String[] args) { B b=new B(); } }
以上是关于07-继承与接口动手动脑及课后实验性问题总结的主要内容,如果未能解决你的问题,请参考以下文章