21xrx.com
2025-04-26 06:08:26 Saturday
文章检索 我的文章 写文章
Java多态性的三个方面:代码演示
2023-06-12 01:00:14 深夜i     11     0
Java 多态性 继承

Java作为一门面向对象的编程语言,多态性是其一个非常重要的特性。而这种特性主要表现在哪些方面呢?下面通过代码演示来详细阐述。

1.方法的重载

方法的重载指的是在同一个类中,有多个方法的方法名相同但是参数列表不同的情况。Java在编译时会通过方法的参数列表来区分不同的方法,这就是方法的重载。下面的代码演示了方法的重载:

public class OverloadDemo {
  public void display(int a) {
    System.out.println("a=" + a);
  }
  public void display(int a, int b) {
    System.out.println("a=" + a + ",b=" + b);
  }
  public static void main(String[] args) {
    OverloadDemo demo = new OverloadDemo();
    demo.display(1);
    demo.display(2, 3);
  }
}

2.方法的重写

方法的重写指的是在继承关系中,子类对父类的方法进行重写。Java在运行时会通过对象实际所属的类来决定调用的方法,这就是方法的重写。下面的代码演示了方法的重写:

public class OverrideDemo {
  public void display() {
    System.out.println("OverrideDemo");
  }
}
public class OverrideDemo2 extends OverrideDemo {
  public void display() {
    System.out.println("OverrideDemo2");
  }
  public static void main(String[] args) {
    OverrideDemo demo = new OverrideDemo2();
    demo.display();
  }
}

3.对象的多态

对象的多态指的是一个对象可以通过多种方式进行使用,而这种使用方式是在运行时动态确定的。Java中的多态是通过继承和方法的重写来实现的。下面的代码演示了对象的多态:

public class PolymorphismDemo {
  public static void test(Displayable d) {
    d.display();
  }
  public static void main(String[] args) {
    Displayable d1 = new Display1();
    Displayable d2 = new Display2();
    test(d1);
    test(d2);
  }
}
interface Displayable {
  void display();
}
class Display1 implements Displayable {
  public void display() {
    System.out.println("Display1");
  }
}
class Display2 implements Displayable {
  public void display() {
    System.out.println("Display2");
  }
}

三个

  
  

评论区