什么是Java多态?
多态是同一个行为具有多个不同表现形式或形态的能力。它的多态性是对象多种表现形式的体现。
比如我们说"动物"这个对象,它就有很多不同的表达或实现,比如有猫、狗、小熊等等。那么我到动物店说"请给我一只小动物",服务员给我猫、狗或者小熊都可以,我们就说"动物"这个对象就具备多态性。
接下来让我们通过实例来了解Java的多态。
实例
public interface Vegetarian{} public class Animal{} public class Deer extends Animal implements Vegetarian{}
因为Deer类具有多重继承,所以它具有多态性。以上实例解析如下:
一个 Deer IS-A(是一个) Animal
一个 Deer IS-A(是一个) Vegetarian
一个 Deer IS-A(是一个) Deer
一个 Deer IS-A(是一个)Object
在Java中,所有的对象都具有多态性,因为任何对象都能通过IS-A测试的类型和Object类。
访问一个对象的唯一方法就是通过引用型变量。
引用型变量只能有一种类型,一旦被声明,引用型变量的类型就不能被改变了。
引用型变量不仅能够被重置为其他对象,前提是这些对象没有被声明为final。还可以引用和它类型相同的或者相兼容的对象。它可以声明为类类型或者接口类型。
当我们将引用型变量应用于Deer对象的引用时,下面的声明是合法的:
Deer d = new Deer(); Animal a = d; Vegetarian v = d; Object o = d;
所有的引用型变量d,a,v,o都指向堆中相同的Deer对象。
联系电话:0763-84538663
联 系 QQ:540383622
工作时间:周一至周五8:00~18:00