多态
多态是同一个行为具有多个不同表现形式或形态的能力。
多态性是对象多种表现形式的体现。
在Java中,所有的对象都具有多态性,因为任何对象都能通过IS-A测试的类型和Object类。
如果A继承B,则A对象是B对象的一个分类,IS-A关系。
访问一个对象的唯一方法就是通过引用型变量。
引用型变量只能有一种类型,一旦被声明,引用型变量的类型就不能被改变了。
引用型变量不仅能够被重置为其他对象,前提是这些对象没有被声明为final。还可以引用和它类型相同的或者相兼容的对象。它可以声明为类类型或者接口类型。
public interface Vegetarian{}
public class Animal{}
public class Deer extends Animal implements Vegetarian{}
public class Test {
public static void main(String [] args){
Deer d = new Deer();
Animal a = d;
Vegetarian v = d;
Object o = d;
}
}
所有的引用型变量d,a,v,o都指向堆中相同的Deer对象。