Java多态的基本概念
Java多态是指同一个接口或父类的引用可以指向不同的子类对象,程序在运行时会自动根据实际对象的类型调用该对象的方法。
Java多态的实现需要满足三个条件:继承、重写和向上转型。
继承:子类继承父类
重写:子类重写父类中的方法
向上转型:将子类对象转换为父类引用类型
Java多态的三种形式
Java多态的三种形式分别为方法重载、方法重写和接口实现,下面分别介绍。
方法重载
方法重载是指在一个类中,有多个方法的方法名相同但参数列表不同,这样可以方便地根据不同的参数列表调用不同的方法。
例如:
public class Calculate {
public int add(int a, int b) {
return a + b;
}
public int add(int a, int b, int c) {
return a + b + c;
}
}
上面的例子中,Calculate类中有两个add方法,参数列表不同,分别实现两个整数相加和三个整数相加的功能。
方法重写
方法重写是指在子类中重新定义一个父类已有的方法,声明与父类中的方法同名、同返回类型、同参数列表。
例如:
public class Animal {
public void move() {
System.out.println("animal is moving");
}
}
public class Dog extends Animal{
public void move() {
System.out.println("dog is running");
}
}
上面的例子中,Dog类继承自Animal类,重写Animal类中的move方法,实现了狗的奔跑动作。
接口实现
接口实现是指一个类实现了一个接口中的所有方法,可以使用接口类型的引用来调用实现者的方法。同样的接口,不同的实现者可以实现不同的功能,从而实现了多态。
例如:
public interface Shape {
double area();
}
public class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double area() {
return Math.PI * radius * radius;
}
}
public class Rectangle implements Shape {
private double width;
private double length;
public Rectangle(double width, double length) {
this.width = width;
this.length = length;
}
@Override
public double area() {
return width * length;
}
}
上面的例子中,定义了接口Shape,两个类Circle和Rectangle直接实现Shape接口,分别实现了圆形和矩形的面积计算。
总结
Java多态有三种形式:方法重载、方法重写和接口实现。方法重载可以方便地根据不同的参数列表调用不同的方法;方法重写可以在子类中重写父类中的同名方法,实现多态;接口实现可以实现不同的实现者实现不同的功能,也可以实现多态。
Java多态应用广泛,使得程序的设计更加灵活,有助于提高代码的复用性和可维护性。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javaip-4.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!