在Java中,構(gòu)造函數(shù)(Constructor)是一種特殊的方法,用于初始化對象。構(gòu)造函數(shù)的名稱與類名相同,沒有返回類型。構(gòu)造函數(shù)可以重載,即可以有多個構(gòu)造函數(shù),但參數(shù)列表必須不同。
繼承(Inheritance)是面向?qū)ο缶幊痰囊粋€重要特性,它允許一個類(子類)繼承另一個類(父類)的屬性和方法。繼承的主要目的是為了代碼復(fù)用和提高代碼的可維護(hù)性。
多態(tài)(Polymorphism)是指允許一個接口或類具有多個實現(xiàn),或者一個對象可以表現(xiàn)出多種形態(tài)。多態(tài)的主要目的是提高代碼的靈活性和可擴展性。
在Java中,繼承和多態(tài)的實現(xiàn)主要依賴于以下幾點:
extends
關(guān)鍵字,子類可以繼承父類的屬性和方法。例如:class Animal {
void eat() {
System.out.println("Animal is eating");
}
}
class Dog extends Animal {
void bark() {
System.out.println("Dog is barking");
}
}
abstract class Shape {
abstract void draw();
}
class Circle extends Shape {
void draw() {
System.out.println("Drawing a circle");
}
}
class Rectangle extends Shape {
void draw() {
System.out.println("Drawing a rectangle");
}
}
public class Main {
public static void main(String[] args) {
Shape shape1 = new Circle();
Shape shape2 = new Rectangle();
shape1.draw(); // 輸出 "Drawing a circle"
shape2.draw(); // 輸出 "Drawing a rectangle"
}
}
在這個例子中,我們使用了抽象類Shape
和兩個子類Circle
和Rectangle
。我們創(chuàng)建了兩個Shape
類型的引用變量shape1
和shape2
,分別引用Circle
和Rectangle
對象。當(dāng)我們調(diào)用shape1.draw()
和shape2.draw()
時,會根據(jù)實際對象的類型調(diào)用相應(yīng)的draw()
方法,實現(xiàn)了多態(tài)。