继承

啥叫做继承?

简而言之,从已有的类种定义新的类叫做继承。那么新定义的类称为子类(sunclass),被继承的类叫做父类(overclass)。
在这里插入图片描述
和离散数学里子父概念不太同,子类并不是父类的一个子集,一个子类通常比它的父 类包含更多的信息和方法。
继承的意义在于可以先定义一个通用的大类,然后在此基础上扩充为一个或一些更加实例化,更有特征性的类。

继承语法

 class SunClass extends OverClass{
	//子类从父类中继承了  属性/方法/构造方法(不能直接继承)

}
class OverClass {
	int c;
}

父类用protected修饰:子类有访问权限
父类用private修饰:子类没有访问权限

子类可以直接使用父类的(非私有)属性行为构造方法
也可以使用自己拥有的属性行为构造方法
甚至有时,需要修改父类中定义的方法,还可以覆盖父类的方法,称为重写
重写时需要注意
1.名称要一致,(函数名都不一样了算个锤子重写)
2.参数列表要一致,否则你这算是重载不是重写
3.返回值类型要相同 或者是父类的返回值类型的子类型
4.子类权限不可以比父类更小

注意:
父类里的内容一定发生在子类对象的初始化之前
父类的父类构造 ->父类构造 ->子类构造

关键字super

明确访问父类的方法和属性
super用来明确调用父类的构造方法
1.如果父类是无参构造方法,通常来说不明确来写super();编译器会添加
2.只有调用父类的有参构造方式时,必须使用super关键字

  this       vs        super
调用其他构造方法         调用父类构造方法
访问本类属性/方法         访问父类属性/方法
代表当前对象        (因为父类对象只是在访问中)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值