Java是一種面向對象編程語言,其中重寫和繼承是面向對象編程中的兩種重要概念。下面我們來深入了解一下這兩個概念。
重寫(Overriding)是指子類中的方法與父類中的方法的方法名、參數類型以及返回值類型完全相同,這種情況下,當子類繼承父類并重寫了相應的方法時,子類的方法會覆蓋父類的方法。
public class Person { public void introduction() { System.out.println("我是普通人。"); } } public class Student extends Person { @Override public void introduction() { System.out.println("我是學生。"); } } public class Main { public static void main(String[] args) { Person person = new Person(); person.introduction(); // 輸出: 我是普通人。 Student student = new Student(); student.introduction(); // 輸出: 我是學生。 } }
繼承(Inheritance)是指子類從父類中繼承了所有的屬性和方法,其中子類可以重寫繼承的方法以實現自己的業務需求。繼承的優點在于代碼的重復利用,我們只需要在父類中寫好一些公共的代碼和方法就可以在子類中隨意使用。
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public void introduction() { System.out.println("我叫" + this.name + ",今年" + this.age + "歲。"); } } public class Student extends Person { private int score; public Student(String name, int age, int score) { super(name, age); this.score = score; } public void showScore() { System.out.println("我考了" + this.score + "分。"); } } public class Main { public static void main(String[] args) { Person person = new Person("小明", 18); person.introduction(); // 輸出: 我叫小明,今年18歲。 Student student = new Student("小紅", 17, 90); student.introduction(); // 輸出: 我叫小紅,今年17歲。 student.showScore(); // 輸出: 我考了90分。 } }
通過以上的例子,我們可以看出重寫和繼承在Java中的應用非常廣泛,它們能夠幫助我們實現復雜的業務邏輯和代碼的復用。
上一篇oracle e-r