零基础学Java—重写(二十)
Posted 王同学要努力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学Java—重写(二十)相关的知识,希望对你有一定的参考价值。
【零基础学Java】—重写(二十)
一、重写和重载
- 重写
(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关键字的三种形式
- 在子类的成员方法中,访问父类的成员变量
- 在子类的成员方法中,访问父类的成员方法
- 在子类的构造方法中,访问父类的构造方法
以上是关于零基础学Java—重写(二十)的主要内容,如果未能解决你的问题,请参考以下文章