面向对象(4)

继承:
通过继承,子类可以拥有父类的属性和方法,通过使用继承我们能够非常方便地复用以前的代码,能够大大的提高开发的效率。继承者是被继承者的特殊化,它除了拥有被继承者的特性外,还拥有自己独有得特性。
对于构造器而言,只能被调用,不能被继承,调用父类的构造方法时我们使用super()即可。对于子类而已,其构造器的正确初始化是非常重要的,而且当且仅当只有一个方法可以保证这点:在构造器中调用父类构造器来完成初始化。
若没有显示的引用父类的构造器,编译器会默认给子类调用父类的构造器。但是,这个默认调用父类的构造器是有前提的:父类有默认构造器。如果父类没有默认构造器,我们就要必须显示的使用super()来调用父类构造器,否则编译器会报错:无法找到符合父类形式的构造器。所以构造方法的第一句总是super()
继承采用extends关键字;
任何类都只能有一个直接的父类;
父类也可以继承其他的类;
多个类可以继承同一个父类。
继承存在的缺陷:父类变,子类就必须变;
继承破坏了封装,对于父类来说,他的实现细节对于子类来说斗志透明的;
继承是一种强耦合关系。
方法的重写:
父类的功能无法满足子类的需求,子类要去重写父类的方法。
方法重写时注意事项:
1.方法名必须与形参列表保持一致
2.子类的权限修饰符必须大于或等于父类的权限修饰符。
3.子类的返回值类型和声明异常类型必须要小于等于父类的返回值类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值