【Java】Java中的多态
多态是面向对象编程中的一个核心概念,允许一个接口表示多种形态。在Java中,多态的表现形式通常有以下几种:
- 方法重载(Overloading):在同一个类中,多个同名方法拥有不同的参数列表,即通过参数类型和/或参数数量的不同来区分。
public class Example {
public void method(int a) {
System.out.println("方法接收一个整型参数");
}
public void method(String b) {
System.out.println("方法接收一个字符串参数");
}
}
- 方法覆盖(Overriding):子类继承父类并重写父类中已经定义的方法,以实现不同的行为。
public class Parent {
public void method() {
System.out.println("父类方法");
}
}
public class Child extends Parent {
@Override
public void method() {
System.out.println("子类覆盖方法");
}
}
- 对象向上转型(Upcasting):将子类对象赋给父类引用,可以在不改变任何代码的前提下增加子类。
public class Parent {
public void method() {
System.out.println("父类方法");
}
}
public class Child extends Parent {
@Override
public void method() {
System.out.println("子类覆盖方法");
}
}
public class Main {
public static void main(String[] args) {
Parent parent = new Child(); // 向上转型
parent.method(); // 调用子类的方法
}
}
在上述例子中,我们定义了一个父类Parent
和一个继承自Parent
的子类Child
。在Main
类的main
方法中,我们创建了一个Child
类的实例,并将其向上转型为Parent
类型,然后调用method
方法,实现了不同的行为。这就是多态的一个典型应用。
评论已关闭