多态

来源:互联网 发布:单片机推挽输出 编辑:程序博客网 时间:2024/04/28 19:13

    多态作为java的三大特性之一,相对其他的两个特性封装和继承更为抽象。所以理解这个特性的的特点也就有点绕。

   再谈多态之前,先聊会继承。继承的引入是为了解决代码复用的问题。java中的继承的特点是单向的单继承也就是一个子类只能有一个直接父类,只有子类才能调用父类非私有的成员,父类不能调用子类的成员。子类继承父类中非私有的成员(其中的值得注意的是父类的构造函数子类不能够继承,那么如果我们需要用到父类的构造方法可以通过su—per关键字进行调用)。

为什么聊多态要扯上继承呢?因为多态是继承的拓展,没有继承也就无多态之说了。多态:父类对象的引用指向多个子类对象叫做多态。从这个定义也可以印证了多态与继承的关系了。其实这个定义对大多数初学java的朋友而言太熟悉了,但还是不理解。这就 对了,中国文字博大精深,死抠文字会烦恼无尽。我还是用一实例说话吧:

<span style="font-size:18px;">public class Father{    public void show(){//定义了一个父类;        System.out.println("Father Run");    }}class Son extends Father{//儿子类继承父类;    public void show(){     System.ou.tprintln("Son Run");   }}class Doughter extends Father{//女儿类继承父类    public void show(){      System.out.println("Doughter Run");    }}</span>
<span style="font-size:18px;">public class Test{    public static void main(String[] args){        Father f=new Son();//父类的引用指向儿子类的对象        f.show();//调用儿子中的show()方法;        Father f1=new Dought();//父类的引用指向女儿类的对象;       f1.show();//调用女儿类的show()方法。    }}</span>


0 0
原创粉丝点击