多態性是Java中最重要的概念之一。Java中的重載和重寫是實現多態性的兩種不同機制。Java中重載是在同一類中定義相同的方法名稱和不同的參數列表以實現多態性,而重寫是在子類中重新定義父類中的方法以實現多態性。
Java中的重載方式是通過參數不同的方法名相同,讓方法調用根據參數自動識別需要調用的哪個方法。例如:下面的代碼定義了兩個名為“add”的方法,分別進行整數相加和浮點數相加:
public class OverloadingExample{ public int add(int x, int y){ return x + y; } public float add(float x, float y){ return x + y; } }
Java中的重寫方式是在繼承中使用,子類可以重新定義或修改從父類繼承來的方法,從而實現多態性。例如:下面的代碼是一個基類Person,它包含了名字和年齡兩個屬性。子類Student繼承了Person類并重寫了父類的showInfo方法:
public class Person{ private String name; private int age; public Person(String name, int age){ this.name = name; this.age = age; } public void showInfo(){ System.out.println("My name is " + name + " and I am " + age + " years old."); } } public class Student extends Person{ private int grade; public Student(String name, int age, int grade){ super(name, age); this.grade = grade; } @Override public void showInfo(){ System.out.println("My name is " + name + ", I am " + age + " years old, and I am in grade " + grade + "."); } }
總之,重載和重寫是Java中實現多態性的兩種不同機制。它們都是面向對象編程中非常重要的概念,可以讓程序的設計更加優雅和靈活。