7. 类与对象3
1 instanceof
用于判定 对象是否是 某个类的实例
场景: 类型转换时,防止异常
// 一个对象是否是某个类的实例
A a = new A();
if (a instanceof B) {
B b = (B) a;
}
System.out.println(a instanceof A);
System.out.println(a instanceof Object);
2 super关键字
super.****: 掉用父类的 属性,方法 (没有父类对象)
super(): 调用父类构造
3. 重写: 覆盖: override :: (重载 overload)
覆盖发生在 继承的时候!
方法名相同,参数列表相同,返回值相同 , 权限访问修饰符可以变大
4. 多态
语义: 一种事务多种形态。
美女抱猫
美女抱波斯猫
美女抱橘猫
代码: 变量是 父类类型 , 真实对象是子类类型。 运行时调用的时 子类覆盖的方法 :: 编译 是父类型, 运行时子类型(运行时才知道是谁)
父类 变量 = new 子类();
变量.方法(); // 覆盖的方法,运行的是子类的方法
有类型的地方就可以用多态
例如: 属性, 参数, 返回值都可以。 (具体看代码)
`