当前位置: 首页 / 技术干货 / 正文
java多态性:java什么是多态

2023-06-12

多态 java 长沙 北京

  在Java中,多态性(Polymorphism)是面向对象编程的一个重要特性。它允许我们使用一个父类类型的引用变量来引用子类类型的对象,从而实现不同类型的对象以统一的方式进行操作和访问。

  具体来说,Java的多态性有两个关键概念:静态多态性(Static Polymorphism)和动态多态性(Dynamic Polymorphism)。

  1. 静态多态性(编译时多态):也称为方法重载(Method Overloading)。在同一个类中,可以定义多个方法名相同但参数列表不同的方法,编译器根据方法调用时的参数类型和数量来确定调用哪个方法。

public class Calculator {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}

   在上面的例子中,Calculator类中定义了两个名为add的方法,一个接收两个int类型的参数,另一个接收两个double类型的参数。根据参数的类型来选择调用合适的方法。

  2. 动态多态性(运行时多态):也称为方法重写(Method Overriding)和对象多态。子类可以重写父类的方法,通过继承来创建具有不同实现的方法。在运行时,当通过父类类型的引用变量引用子类对象时,实际执行的是子类重写的方法。

public class Animal {
public void makeSound() {
System.out.println("Animal is making a sound.");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Dog is barking.");
}
}
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Cat is meowing.");
}
}

   在上面的例子中,Animal类是父类,Dog和Cat是其子类。它们都有一个名为makeSound的方法,但是每个子类的makeSound方法具有不同的实现。当使用Animal类型的引用变量引用Dog或Cat对象时,实际执行的是子类重写的makeSound方法。

  通过多态性,我们可以以一种通用的方式处理不同类型的对象,提高代码的灵活性和可扩展性。它是面向对象编程中的重要概念,能够简化代码的编写和维护,并支持代码的重用和扩展。

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号