java 多态理解

来源:互联网 发布:淘宝宝贝链接地址提取 编辑:程序博客网 时间:2024/06/05 17:54

java 多态可以理解为,一个对象具有多种形态。

例如:

abstratc class Animal{

       public void eat(){}

}

class dog extends Animal{

     public void eat()

}

Dog对象具有Dog形态,也具有Animal形态。所有继承Animal的类的实例,都具有Animal的形态。

Animal的对象都是子类实例,都能调用Animal中方法,而该方法可能被子类覆盖,此时真正调用的就是子类的方法。从而实现多态,同一引用,指向不同对象,调用不同方法。

继承/实现和方法的覆写(方法动态绑定)是实现多态的前提。

多态增强扩展性,前期的代码能直接使用后期代码(必须是覆写的),当然不能使用子类特有的方法。正因为这样,父类/接口定义十分重要。、


成员变量是没有覆写这一说法,所有也没有多态的。什么类型引用就使用什么类型的成员变量。

静态成员函数也无多态(静态成员是静态绑定的)。什么类型引用就使用什么类型的函数。(静态方法最好使用类名调用)



0 0
原创粉丝点击