JAVA基础day08 多态特性 object类

多态:事物存在的多种体现形态。
例子:

abstract class Animal{
abstract void eat();
}
class Cat extends Animal{
public void eat(){
System.out.println(“吃鱼”);
}
public void sound(){
System.out.println(“喵喵”);
}
}

main方法中 可以 Animal a=new Cat();
如果想要 想要调用子类中特有的方法,必须强制转型。
Cat c=(Cat)a;
c.sound().

多态自始至终都是子类对象在做变化。

instanceof 判断某一对象是不是某一类型。
class Fu{
void method1(){
System.out.println(“fu1”);
}
void method2(){
System.out.println(“fu2”);
}
}
class Zi extends Fu{
void method1(){
System.out.println(“zi1”);
}
void method3(){
System.out.println(“zi3”);
}
}

main(){
Fu f=new Zi();
f.method1();
f.method2();
f.method3();
}
上述例子编译不通过。
在编译时,看父类中是否有所在的方法,父类中没有method3,所有失败。
编译看左,编译通过后,运行时看右。

object类 :是所有类的直接或者间接父类
定义了很多方法。如equals(),tostring(),写的时候很多情况需要覆写。

你可能感兴趣的:(java)