Java是面向对象的编程语言,多态是面向对象的重要一环。
有以下特性
1.引用类型,函数的参数和返回值可以是实际对象类的父类,例如:
Animal dog = new Dog();
public Animal bark(Animal al){
al = dog;
retuan al;
}
2.对象之母Object是所有类的根,拥有以下特性
- Object拥有9个基本方法。
- clone,getClass,to String,finalize,equals,hashCode,wait,notify,notifyAll,不多作介绍
- 以上基本类除了getClass(可能还有别的)可以重写覆盖。
- 其他类转换成Object类,程序不会自动识别,无法使用他的方法,可以用instanceof检测是否可以转换,并且可以强制转换。
Object o =new Dog(); o.bark();//错误,无法通过编译,因为此时o是Object类,程序不会识别他是不是Dog类,不能用他的方法 if(o instanceof Dog){ Dog d = (Dog) o; }