Java语言进阶 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

多态

多态是同一个行为具有多个不同表现形式或形态的能力。

多态性是对象多种表现形式的体现。

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对象。