学习内容
子类只能有一个父类,它继承了父类(超类)的属性和行为。
- 每个类(除了Object类)有且仅有一个父类,一个类可以有多个或零个子类。class A与class A extends Object是等同的。
- 当子类和父类不在同一个包中时父类中的private和友好访问权限的成员变量不会被子类继承。对于protected变量或方法,若想访问,则需与声明该变量或方法的类处于同一个包中。
- 子类和父类可能有相同名字的成员变量,子类会隐藏所继承的成员变量。
- 子类对象及子类自己定义的方法操作的是子类自己声明的变量。
子类继承方法操作的是被子类继承或隐藏的成员变量。
instanceof
- instanceof左面操作元是对象,右面的操作元是类
当左面的操作元是右面的类或其子类创建的对象时,运算的结果是true,反之false。
方法重写
- 子类定义的方法类型和父类方法的类型一致,并且方法的名字、参数个数、参数的类型和父类的方法完全相同。
- 重写方法可以操作继承的成员变量、调用继承的方法,操作子类新声明的成员变量、调用新定义的其他方法,但不能直接操作被子类隐藏的成员变量和方法。
重写只能提高访问权限,不能降低。
super
在子类中使用被子类隐藏的成员变量或方法,super.成员变量,super.方法.
final
- final类不能被继承,即不能有子类。
- final修饰父类中的一个方法,那么这个方法不允许子类重写(只能继承,不能做任何篡改)
final修饰成员变量或局部变量,则其为常量,需要在使用时指定该常量的值。
对象的上转型对象
- 子类创建一个对象,并把这个对象的引用放到父类的对象中
接口是一种特殊的类,里面全部是由全局常量(static final)和公共的抽象方法所组成。
接口中的方法没有操作时一定得是公开且抽象的。
类要操作接口必须用implements关键字。
接口的数据成员,只允许被public, static, final修饰。接口的方法成员,只允许被public, abstract修饰。
操作某接口时,对接口中定义的方法有2种处理方式,一是操作接口中定义的方法,二是再度将该方法标示为abstract.
接口中的public abstract可以省略,但要注意:接口中的方法必须是“抽象方法”,不能有方法体,允许省略public及abstract关键字。
接口中可以使用extends继承接口,并且可以继承多个接口,接口不能继承一个抽象类,却可以通过extends同时继承于多个接口。
代码托管
代码统计