1. 继承(Inheritance):Java中是单继承的,意味着一个类只能从另外一个类继承,被继承的类叫做父类(基类),继承的类叫做子类,java中的继承使用extends关键字
2. 当生成子类对象时,java默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成父类的对象,再去调用子类的构造方法,生成子类的对象。【要想生成子类的对象,首先需要生父类的对象,没有父类就没有子类对象。比如说,没有父亲,就没有孩子】
3. super关键字,super表示对父亲对象的引用
4. 如果子类使用super()显示调用父类的某个构造方法,那么在执行的时候就会寻找与super()所对应的构造方法而不会再去寻找父类的不带参数的构造方法,与this一样,super必须要作为构造方法的第一条语句,
5. 关于继承的3点
a) 父类有的,子类也有
b) 父类没有的,子类可以增加
c) 父类有的,子类可以改变
6. 关于继承的注意事项
a) 构造方法不能被继承
b) 方法和属性可以被继承
c) 子类的构造方法隐式的调用父类的不带参数的构造方法
d) 当父类没有不带参数的构造方法时,子类使用super来显式地调用父类的构造方法,super指的是父类的引用
e) super关键字必须是构造方法的第一行语句。
7. 方法重写(Overwrite):又叫做覆盖。子类与父类的方法返回类型一样,方法名称一样,参数一样,这样我们就说子类与父类的方法构成了重写关系。
8. 方法重写与方法重载之间的关系:重载发生在同一个类内部的两个或多个方法,重写发生在父类与子类之间。
9. 当两个方法形成重写关系时,可以在子类方法中通过super.方法()调用父类的方法(),如super.run()不必放在第一行语句。
10. 在定义一个类的时候,如果没有显式定义该类的父类,那么该类就继承于java.lang.Object类,Object类是java中所有类的直接或间接父类。