从零开始学JAVA DAY7
java语言的三个特征
封装,继承,以及多态
多态的概念:一个对象能被多个类(必须有继承关系)所定义
Cat cat = new Animal
也能
Cat cat = new Cat
Aniamal 是 Cat 的父类 class Cat extends Animal
这里就有个区分
对于非静态量,编译看左边这个类是否有这个功能,实现输出最终看右边,父类被子类覆盖了
对于静态(static),本身就开辟了内存空间,那么Animal cat = new cat 访问的就是创建的对象,创建的对象是Animal类型的,那么调用的当然是Animal类型的
cat在animal 里面 我们也可以把animal 定义成 cat 那么现在
Animal cat = new Cat
现在的cat是Animal 类型的,是父类,父类是无法调用子类的
所以把cat强制转换成Cat之后我们就能调用了
cat = (Cat)cat
instanceof 关键字:
用来判断是否是该类
void check(Animal x)
{
if(x instanceof Cat){
}
else if(x instanceof Dog){
}
}