子类只能从被扩展的父类获得成员变量、方法和内部类(包括内部接口、枚举),不能获得构造器和初始化块。
2.Java类只能有一个直接父类,实际上,Java类可以有无限多个间接父类。
3.如果定义一个Java类时并未显式指定这个类的直接父类,则这个类默认扩展java.lang.Object类
4.super限定
public void callOverridedMethod()
{
//在子类中通过super显示调用父类被覆盖的实例方法
super.fiy();
}
二、
1.多态存在条件
继承或实现:在多态中必须存在有继承或实现关系的子类和父类
方法的重写:子类对父类中的某些方法进行重新定义
基类引用指向派生类对象,即父类引用指向子类对象,父类类型:指子类对象继承的父类类型,或实现的父接口类型
2.父类类型 变量名 = new 子类类型();
然后通过变量名.方法名()调用在子类中重写的方法
**多态体现为父类引用变量可以指向子类对象:定义了一个父类类型的引用,指向新建的子类类型的对象,由于子类是继承他的父类的,所以父类类型的引用是可以指向子类类型的对象的
3.强制转换
类 型 转 换 运 算 符 是 小 括 号 , 类 型 转 换 运 算 符 的 用 法 是 :(type)variable,这种用法可以将variable变量转换成一个type类型
的变量。
三、
1.利用组合实现复用
如果需要复用一个类,除把这个类当成基类来继承之外,还可以把该类当成另一个类的组合成分,从而允许新类直接复用该类的public方法。不管是继承还是组合,都允许在新类(对于继承就是子类)中直接复用旧类的方法。
四、
【修饰符】
{
//初始化块的可执行性代码
...
}
初始化块的修饰符只能是static,使用static修饰的初始化块被称为类初始化块(静态初始化块),没有static修饰的初始化块被称为实例初始化块(非静态初始化块)。