一、重写和重载
- 重写
(Override)
:在继承关系当中,方法的名称一样,参数列表一样。重写又称为方法的覆盖、覆写。 - 重载
(Overload)
:方法的名称一样,参数列表不一样 - 方法的覆盖重写的特点:创建的是子类对象,则优先使用子类方法
方法覆盖重写的注意事项:
- 必须保证父子类之间方法的名称相同,参数列表也相同
@Override
:写在方法的前面,用来检测是不是有效的正确覆盖重写,这个注解就算不写,只要满足要求,也是正确的方法覆盖重写- 子类方法的返回值必须小于等于父类方法的返回值
java.lang.Object
类是所有类的公共最高父类(祖宗类),java.lang.String
就是Object的 子类- 子类方法的权限必须【大于等于】父类方法中的权限修饰符
- 小扩展提示:
public>protected>(default)>private
( 备注:(default)
不是关键字default
,而是什么都不写,留空)
二、在这里插入代码片
public class Phone { public void call(){ System.out.println("打电话"); } public void send(){ System.out.println("发短信"); } public void show(){ System.out.println("显示号码"); } }
//定义一个新手机使用老手机作为父类 public class newPhone extends Phone { @Override public void show() { super.show();//把父类的show方法拿过来重复使用 //自己子类再来添加更多的内容 System.out.println("显示姓名"); System.out.println("显示头像"); } }
/** * @author :CaiCai * @date : 2022/4/9 15:15 */ public class demo01Phone { public static void main(String[] args) { Phone phone =new Phone(); phone.call(); phone.send(); phone.show(); System.out.println("======="); newPhone NewPhone=new newPhone(); NewPhone.call(); NewPhone.send(); NewPhone.show(); } }
二、继承中构造方法的访问特点
继承关系中,父子类构造方法的访问特点:
1、子类构方法中有一个默认隐含的super()
调用,所以一定是先调用的父类构造方法,后执行的子类构造
2、子类构造可以通过super
关键字来子类构造调用父类重载构造
3、super的父类构造调用,必须是子类构造方法的第一个语句,不能一个子类构造调用多次super
构造
总结:子类必须调用父类构造方法,不能赠送super(),写了则用写的super指定调用,super只能有一个,还必须是第一个
三、super关键字的三种形式
- 在子类的成员方法中,访问父类的成员变量
- 在子类的成员方法中,访问父类的成员方法
- 在子类的构造方法中,访问父类的构造方法