继承

简介:

子类可以继承父类的非私有成员,并且可以使用。通过一个关键字extends来让类与类之间产生继承关系

思想:

将所有子类的共性功能,向上抽取到父类当中,为了实现代码的复用性和维护性。
1.好处:
提高了代码的复用性和维护性。
2.弊端:
增加了耦合性,让类与类之间产生了关系。
3.软件设计的原则是高内聚,低耦合:
高内聚:一个类单独完成某个功能的能力
低耦合:一个类要完成某个功能,得去依赖某些类

注意事项:

1.java中只支持单继承,但是继承多层继承。
Object是所有类的顶层父类,所有类都是直接间接的继承自它。
2.父类私有成员(成员变量,成员方法),子类不能继承。
3.构造方法不参与继承。
4.不要为了部分吗功能去继承(增加耦合性)。

super与this

super:
他是父类空间的一个标识,你可以理解为父类的一个引用,我们可以用super来访问父类的数据(成员,构造方法)。
this:
代表本类的一个引用,你可以理解为本类的一个对象,哪个对象调用这个方法,方法中的this就代表谁。

在每个类的构造方法的第一行,都会默认有一条super()调用父类的空参构造,先完成父类数据的初始化。假如父类中没有提供空参构造,可以去调用父类有参构造。或者先用this调本类有参构造,然后你调用的构造又去调用父类的有参构造。

方法重写:

  • 当子类出现了和父类一模一样的方法(方法名,参数列表,返回值类型都一样)就会发生子类方法覆盖父类方法,我们称这种现象为方法重写。
  • 为什么要有方法重写这种机制?
    如果说子类对父类的方法不满意,那么子类就可以覆盖它。/子类想要对父类的功能进行扩展,也可以使用方法重写这种机制。
  • @Override 可以用来检测是否发生了方法重写。

重写的注意事项:

1.父类私有的方法,子类无法重写,私有的方法子类都无法继承,何谈重写。
2.子类在重写父类方法时,权限修饰符不能低于父类,最好一样。
public>protected>deflaut(缺省)>pravite
3.静态方法不算重写。

方法重写与方法重载的区别:

方法重写 Overide:有继承的情况下,子类出现了和父类一模一样的方法
方法重载 Overload:允许一个类中出现多个同名方法,只要参数个数或参数类型不用即可。不拿返回值类型区分。

final

最终的 ,可以修饰类,变量,成员方法。
1.final修饰类,类不能被继承。
2.final修饰方法,方法不能被重写。
3.final修饰成员变量,公共的静态常量。
eg: public static final int NUM=10;
4.final修饰局部变量
**基本数据类型:**指的是值不能被改变是常量。
**引用数据类型:**指的是地址值不能被改变。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值