灯塔11.12Java学习总结

面向对象进阶

1.继承

面向对象三大特征:封装,继承,多态。

*封装:对象代表什么,就封装对应的数据,并提供数据对应的行为

*继承:java中提供一个关键字extends,可以让一个类和另一个类建立起继承关系

public class Student extends Person{}

#Student称为子类(派生类)

#Person称为父类(基类或超类)

*使用继承的好处:

01.可以把多个子类中重复的代码抽取到父类中,提高代码的复用性

02.子类可以在父类的基础上,增加其他的功能,使子类更强大

*什么时候使用子类?

  当类与类之间,存在相同(共性)的内容,并满足子类是父类中的一种,就可以考虑使用继承,来优化代码

*继承的格式

public class 子类 extends 父类{}

*子类能继承父类中的那些内容(内存图/内存分析工具)

                public              private

构造方法:   不能                不能

成员变量:    能                     能

成员方法:    能                  不能

特点:

java只支持单继承,不支持多继承,但支持多层继承

#单继承:一个子类只能继承一个父类

#不支持多继承:子类不能同时继承多个父类

#多层继承:子类A继承父类B,父类B继承父类C

*每一个类都直接或间接的继承于Object

继承中:

1.成员变量的访问特点:(就近原则)

//定义父类public class Fu{String name="Fu";}

//定义子类public class Zi extends Fu{

String name="Zi";

//在子类中定义一个方法public void ziShow(){

String name="ziShow";

syso(name);//输出ziShow

syso(this.name);//输出Zi

syso(super.name);//输出Fu

}

}

2.方法的重写:

    当父类的方法不能满足子类现在的需求时,需要进行方法重写

书写格式:

     在继承体系中,子类出现了和父类中一模一样的声明,就称子类这个方法是重写的方法

3.@Override重写注释:

*@Override是放在重写后的方法上,校验子类重写时语法是否正确

*加上注释后如果有红色波浪线,表示语法错误

*建议重写方法都加@Override注释,代码安全,优雅

*如果发生重写,则会覆盖原方法

4.方法重写注意事项和要求

*重写方法名称,形参列表必须与父类一致

*子类重写父类方法时,访问权限子类必须大于等于父类

*子类重写父类方法时,返回值类型子类必须小于等于父类

*建议重写方法时尽量和父类保持一致

*只有被添加到虚方法表中的方法才能被重写

 

总结

1.继承中成员方法的访问特点

this调用:就近原则

super调用:直接找父类

2.什么是方法重写?

在继承体系中,子类出现了和父类一模一样的方法声明,就称子类的这个方法是重写的方法

3.方法重写建议加上哪个注释,有什么好处?

@Override注释可以校验重写是否正确

4.重写方法有哪些基本要求?

*子类重写的方法尽量跟父类中的方法保持一致

*只有虚方法表里面的方法可以被重写

5.方法重写的本质?

覆盖方法表中的方法

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟的编程之路k_k@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值