1、继承是类与类之间的关系,具有层次结构,子类继承父类的属性和行为。子类和父类是相对的。
2、通过继承我们可以复用超类的方法和行为。
3、对象之间的共同属性和行为被称为共性,它们属于共同的超类。
4、对象之间的非共性的属性和行为,它们属于不同的子类。
5、向子类中添加属性和行为,从而定义超类不具备但子类具备的特殊行为。
6、允许同一超类的不同子类执行相同的行为,但具体的实现方式不同 。
7、子类中有一个变量叫做super变量,该变量与this变量类似,然而,this变量引用当前类的实例,super变量则引用超类的实例。用法如下:
super.属性 //指示超类的属性;
super.方法 //指示超类的方法;
super() //指示超类的。
子类通过super方法来决定执行超类的哪个构造方法。由于超类的构造方法先于子类的构造方法执行,如果使用super方法,则必须将其视作为子类构造方法的第一条语句。如果在子类构造方法中未提供super方法,则使用默认的构造方法。默认构造方法是一种不接受任何参数的构造方法,如果在超类中没有默认的构造方法,则必须使用super方法指定执行一个具体的构造方法。
8、java运行环境利用继承创建类的步骤如下:
1)创建子类;
2)初始化所有超类的类(静态)变量;
3)初始化所有子类的类(静态)变量;
4)执行超类的构造函数;
5)执行子类的构造函数。
9、超类的构造方法不能被它的子类继承。
10、继承关系的准则:
1)总是让子类执行超类可执行的所有行为;
2)确保子类包含超类的所有信息;
3)向子类中添加属性和行为,从而定义超类不具备但子类具备的特殊行为;
4)将共同特性迁移到超类上;
5)允许同一超类的不同子类执行相同的行为,但具体实现方式不同。
11、不同的访问修饰符有不同的访问权限级别:private:只能在本类中调用;default:只能在本类、子类的同包和同包外部类中调用;protected:只能在本类、子类和同包外部类调用;public可以被任何类调用。
12、子类继承父类时,内存叠加。对私有属性提供相应的get/set方法,必须要有一个不带参数的构造方法。
13、final类的类不能被继承,变量不能修改,方法不能被重写。
14、抽象类只能被继承,它必须带有子类,但不能被实例化,它能修饰方法、类、不能修饰属性。抽象类通常至少包含一个抽象方法。抽象方法是在声明中使用关键字abstract来标识的,并且不含方法体,改用分号结束声明。
15、抽象类可以没有抽象方法,但抽象方法必须存在抽象类里,一个抽象类中没有抽象方法在语法上是正确的,但失去了设计的意义。总之对抽象类而言,只能被继承。它的作用是行为复用。
16、重写在有继承关系的不同类中发生,方法名、参数表和返回类型一致。子类重写方法的访问修饰符的限制级别必须低于或等于超类中的限制级别。
17、object是类层次结构的根类,他的方法在每个类都有。是默认的父类。