是什么
提高代码复用性,因为有的类会有重复内容。
extends
public class son extends father{}
子类可以继承父类的非私有成员(public)
子类对象其实是由子类和父类多张设计图创建出来的对象。
权限修饰符
限制类中的成员(变量,方法,构造器)能够被访问的范围。
private 当前类
没有加 同一个包中的类
protected 本类,同一个包的类,子孙类中(子孙类可以在其他包下)
public 任意位置
注意类和接口不能用private修饰,这是由于类和接口本身设计就相当于模板,是要被其他访问的。
继承的特点
单继承,一个类只可以继承一个直接父类,但是可以多层继承.
祖宗类Object ,Java中所有类都是它的子类,所以任何类都可以用Object的东西。
在子类中访问其他成员(成员变量,成员方法),先就近在子类中找,然后再在父类中找。也就是说,在子类与父类中出现重名,优先使用子类,但是如果非要用父类的,那么super.父类成员变量或父类成员方法
子类构造器
子类的全部构造器都必须先调用父类的构造器,再执行自己。
super(参数)调用父类有参数构造器的常见应用:为对象中包含父类这部分的成员变量进行赋值。
事实上,在默认情况下,子类全部构造器的第一行代码都有super()(写不写都有),它会调用父类的无参数构造器。如果父类没有无参数构造器,或者private了,那么我们必须子类构造器手写super(),制定去调用父类的有参构造器。
构造器用this()调用兄弟构造器
例如,下图上面这个代码重复度太高。
于是采用这种形式:
注意事项:super()或者this()都必须写在构造器第一行并且两者不能同时出现(如果同时出现,那么它先super找父类,又this调兄弟构造器,而兄弟构造器可能还有父类,那么它就会有两个父类)
,()内理解仅个人,不一定对。