diff --git a/day09/src/com/inmind/extends_constructor04/Demo05.java b/day09/src/com/inmind/extends_constructor04/Demo05.java index c2be63e..db01ca4 100644 --- a/day09/src/com/inmind/extends_constructor04/Demo05.java +++ b/day09/src/com/inmind/extends_constructor04/Demo05.java @@ -11,6 +11,8 @@ public class Demo05 { Zi zi = new Zi(); //创建父类对象 Fu fu = new Fu(10); + System.out.println("--------------------------------"); + zi.methodZi(); System.out.println("程序结束"); } diff --git a/day09/src/com/inmind/extends_constructor04/Fu.java b/day09/src/com/inmind/extends_constructor04/Fu.java index f69f3b8..98965e1 100644 --- a/day09/src/com/inmind/extends_constructor04/Fu.java +++ b/day09/src/com/inmind/extends_constructor04/Fu.java @@ -1,7 +1,7 @@ package com.inmind.extends_constructor04; public class Fu { - int num; + int num = 100; //父类的无参构造方法 public Fu(){ @@ -13,4 +13,8 @@ public class Fu { System.out.println("父类有参构造方法"); this.num = num; } + + public void methodFu() { + System.out.println("父类的成员方法执行了"); + } } diff --git a/day09/src/com/inmind/extends_constructor04/Zi.java b/day09/src/com/inmind/extends_constructor04/Zi.java index 15c63b9..8f62ac4 100644 --- a/day09/src/com/inmind/extends_constructor04/Zi.java +++ b/day09/src/com/inmind/extends_constructor04/Zi.java @@ -1,9 +1,26 @@ package com.inmind.extends_constructor04; + +/* +super可以表示父类的引用(对象) +super三个使用操作: +1.super,可以在子类的成员方法中,访问父类的成员变量,格式super.父类成员变量 +2.super,可以在子类的成员方法中,访问父类的成员方法,格式:super.父类成员方法名(参数列表) +3.super,可以在子类的构造方法中,访问父类的构造方法,格式:super(参数列表) + + */ public class Zi extends Fu{//子类继承了父类,拥有了父类的非私有的成员 public Zi(){ //super(10);//注意:如果不写该行代码,编译器会自动添加super(),调用父类的无参构造,并且必须在第一行 + super(); System.out.println("子类的无参构造方法"); } + + //子类的成员方法 + public void methodZi(){ + System.out.println("父类的成员变量num:"+super.num); + //调用父类的成员方法 + super.methodFu(); + } }