美文网首页
Java多态

Java多态

作者: MacroZH | 来源:发表于2018-04-24 21:54 被阅读0次

多态指程序中定义的对象引用或者调用的方法在编译器不能确定,只有在程序运行期间才能确定具体的对象或者具体的调用方法。
实现多态通常需要三个条件:继承、重写、向上转型。
通常定义超类对象的引用,而该引用在运行期间指向确定的子类,调用子类重写后的方法。如常见的List

  List<String> list=new ArrayList<>();

通常Java中有两种机制实现多态:
1.继承或者接口实现多态
2.方法重载。

1.继承、接口实现多态
子类覆盖父类方法或者实现接口中方法来实现多态。

public abstract class Animal {
    abstract void fly();

}
public class Dog extends Animal{
    @Override
    void fly() {
        System.out.println("Dog can't fly");
    }
}
public class Duck extends Animal {
    @Override
    void fly() {
        System.out.println("Duck fly with wing");
    }
}

public static  void main(String[] args)
    {
        Animal duck;
        Animal dog;
        duck=new Duck();
        dog=new Dog();
        duck.fly();
        dog.fly();
    }

Duck fly with wing
Dog can't fly

2.函数重载
函数重载属于编译时多态,多个方法具有相同的函数名,具有不同的参数类型、参数个数,根据调用时传入的参数进行选择确定具体调用哪个方法。
返回值类型不作为重载条件。但是重载的方法可以具有不同返回类型。

相关文章

  • java多态面试题

    java多态性 多态分两种: (1) 编译时多态(设计时多态):方法重载。 (2) 运行时多态:JAVA运...

  • java多态面试题

    java多态性 多态分两种: (1) 编译时多态(设计时多态):方法重载。 (2) 运行时多态:JAVA运行时...

  • 2018-01-25

    多态机制 java语言,实现多态...

  • java多态之简述

    Java的第三大特性------>多态 一、什么是多态 多态根据其字面意思就是多种形态的意思,那么在Java中的多...

  • 学习JavaScript设计模式——面向对象(五)

    面向对象(五) 多态 我仔细看了一下,这里说的JavaScript 的多态好像和Java的多态不一样, Java ...

  • Java基础之面向对象

    1.多态,继承,封装 Java实现多态有哪些必要条件?具体怎么实现?多态的实现原理?多态的作用? 答:多态的优点 ...

  • Java 多态

    1、Java 多态分类 1)编译时多态:方法重载。2)运行时多态:JAVA运行时系统根据调用该方法的实例的类型来决...

  • Java 多态之方法调用顺序

    本文例子取于<深入理解java多态性>和,分析 Ja...

  • 详解Java多态

    详解Java多态 多态定义 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态...

  • Java笔记

    Java基础 Java面试通关要点 1.面向对象的特征 封装 继承 多态 封装继承多态 2.final,final...

网友评论

      本文标题:Java多态

      本文链接:https://www.haomeiwen.com/subject/nhdslftx.html