diff --git a/day09/src/com/inmind/extends_constructor05/Demo05.java b/day09/src/com/inmind/extends_constructor05/Demo05.java new file mode 100644 index 0000000..2ed023c --- /dev/null +++ b/day09/src/com/inmind/extends_constructor05/Demo05.java @@ -0,0 +1,14 @@ +package com.inmind.extends_constructor05; +/* +继承中构造方法的访问特点 +1.创建子类对象时,一定会调用父类的构造方法 +2.super调用父类的构造方法时,必须在子类的构造方法的第一行 +3.super可以调用父类的有参构造方法。 + */ +public class Demo05 { + public static void main(String[] args) { + Fu fu = new Fu(); + System.out.println("--------------"); + Zi zi = new Zi(); + } +} diff --git a/day09/src/com/inmind/extends_constructor05/Fu.java b/day09/src/com/inmind/extends_constructor05/Fu.java new file mode 100644 index 0000000..ada2009 --- /dev/null +++ b/day09/src/com/inmind/extends_constructor05/Fu.java @@ -0,0 +1,15 @@ +package com.inmind.extends_constructor05; + +public class Fu { + int num; + + public Fu(){ + System.out.println("父类无参构造方法"); + } + + public Fu(int num){ + System.out.println("父类有参构造方法"); + this.num = num; + } + +} diff --git a/day09/src/com/inmind/extends_constructor05/Zi.java b/day09/src/com/inmind/extends_constructor05/Zi.java new file mode 100644 index 0000000..17676f0 --- /dev/null +++ b/day09/src/com/inmind/extends_constructor05/Zi.java @@ -0,0 +1,10 @@ +package com.inmind.extends_constructor05; + +public class Zi extends Fu{ + public Zi(){ + super(1);//如果不写这行代码,编译器也会默认添加,super()调用父类的无参构造方法 + System.out.println("子类无参构造方法"); + } + + +} diff --git a/day09/src/com/inmind/override04/Demo04.java b/day09/src/com/inmind/override04/Demo04.java new file mode 100644 index 0000000..f8585bf --- /dev/null +++ b/day09/src/com/inmind/override04/Demo04.java @@ -0,0 +1,16 @@ +package com.inmind.override04; + +public class Demo04 { + public static void main(String[] args) { + //来一个旧手机 + Phone phone = new Phone(); + phone.call(); + phone.sendMessage(); + phone.show(); + //来一个新手机 + NewPhone newPhone = new NewPhone(); + newPhone.call(); + newPhone.sendMessage(); + newPhone.show(); + } +} diff --git a/day09/src/com/inmind/override04/NewPhone.java b/day09/src/com/inmind/override04/NewPhone.java new file mode 100644 index 0000000..0134192 --- /dev/null +++ b/day09/src/com/inmind/override04/NewPhone.java @@ -0,0 +1,17 @@ +package com.inmind.override04; + +public class NewPhone extends Phone{ + //老的功能直接继承 + + //对于部分功能要进行扩展增强,就重写 + //快捷键:ctrl+o + //重写的作用:对父类的方法进行选择性的扩展 + @Override + public void show() { + //super.show();//调用父类的原本功能(沿袭父类的功能) + //以下代码就是子类对父类的功能不满足,则进行扩展增强 + System.out.println("头像显示"); + System.out.println("电诈提示"); + System.out.println("展示归属地"); + } +} diff --git a/day09/src/com/inmind/override04/Phone.java b/day09/src/com/inmind/override04/Phone.java new file mode 100644 index 0000000..a6a3cdf --- /dev/null +++ b/day09/src/com/inmind/override04/Phone.java @@ -0,0 +1,16 @@ +package com.inmind.override04; + +public class Phone { + + public void call(){ + System.out.println("打电话"); + } + + public void sendMessage(){ + System.out.println("发短信"); + } + + public void show(){ + System.out.println("旧手机来电号码显示"); + } +}