day09-继承中构造方法的访问特点

This commit is contained in:
2026-07-25 14:11:24 +08:00
parent 7d5c4ac590
commit 5a0ccb04c7
6 changed files with 88 additions and 0 deletions
@@ -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();
}
}
@@ -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;
}
}
@@ -0,0 +1,10 @@
package com.inmind.extends_constructor05;
public class Zi extends Fu{
public Zi(){
super(1);//如果不写这行代码,编译器也会默认添加,super()调用父类的无参构造方法
System.out.println("子类无参构造方法");
}
}
@@ -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();
}
}
@@ -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("展示归属地");
}
}
@@ -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("旧手机来电号码显示");
}
}