java 继承性,覆盖重写(override)

父子类重名

直接通过子类对象访问的成员变量:

                            (Zi zi = new Zi();) 等号左边是谁就优先用谁,没有向上找。

间接通过成员方法访问成员变量:

                             该方法属于谁就有先用谁,没有向上找。

 

 

 

 

 

三个变量重名

局部变量:      直接写局部变量名

本类成员变量: this.成员变量名

父类的成员变量: super.成员变量名

 

 

 

在父子类的继承关系当中,创建子类对象,访问成员方法的规则

 

覆盖重写(override)

对比

重写(override):方法的名称一样,参数列表也一样。覆盖,覆写

重载(Overload):方法的名称一样,参数列表不一样

方法覆盖重写的注意事项:

1.必须保证父子类方法名称一致,参数列表相同。

@Override:写在方法前面,用来检测是不是有效的正确覆盖重写

2.子类方法的返回值必须大于等于父类方法的返回值范围

java.lang.Object类是所有类的最高父类

3.子类方法的权限必须大于等于父类方法的权限修饰符。

public > protected > (default) >private

(default)不是关键字

覆盖重写应用场景

 

如何在继承的方法中避免写父类重复内容:super.父类方法();

 

继承关系中,父子类构造方法的访问特点

子类必须调用父类构造方法,不写编译器直接加上,super只能有一个,必须是构造方法第一行

 

super关键字的用法有3种

1.在子类的成员方法中,访问父类的成员变量

2.在子类的成员方法中,访问父类的成员方法。

3.在子类的构造方法中,访问父类的构造方法。

this的三种用法

1.本类的成员方法中,访问本类的成员变量。

2.本类的成员方法中,访问类的另一个成员构造方法。

3.在本类的构造方法中,访问本类的另一个构造方法。

  1.        this(...)调用也必须是构造方法第一个语句
  2. super和this两种构造调用不能同时使用。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值