色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java的多態(tài)和重載

傅智翔1年前8瀏覽0評論

Java是一種面向?qū)ο蟮木幊陶Z言,面向?qū)ο蟮娜筇匦允欠庋b、繼承和多態(tài)。其中多態(tài)就是在不同的上下文中,同一個方法可以表現(xiàn)出不同的行為。Java實現(xiàn)多態(tài)的方式有兩種,分別是重載(overload)和重寫(override)。

重載是指在同一個類里面可以定義方法名相同但是參數(shù)列表不同的方法。使用重載可以在不同的情形下使用同名的方法,這樣可以簡化代碼,使代碼更加清晰。下面是一個簡單的例子:

public class Calculate {
public int sum(int a, int b) {
return a + b;
}
public double sum(double a, double b) {
return a + b;
}
}

上面的例子中定義了兩個方法,一個用于計算兩個整數(shù)的和,另一個用于計算兩個小數(shù)的和。因為方法名相同但是參數(shù)不同,所以可以在調(diào)用時根據(jù)參數(shù)的數(shù)據(jù)類型來自動選擇調(diào)用哪個方法。比如:

Calculate calculator = new Calculate();
int iResult = calculator.sum(1, 2);
double dResult = calculator.sum(1.2, 2.3);

重載的方法是在編譯期間確定的,也就是說編譯器會根據(jù)參數(shù)的類型來選擇最佳的匹配方法。

重寫是指在父類中定義了一個方法,而子類在繼承該父類后可以對這個方法進行重寫。重寫方法的方法名、參數(shù)列表和返回值類型都必須與父類中定義的方法相同。下面是一個例子:

public class Animal {
public void speak() {
System.out.println("I am an animal.");
}
}
public class Cat extends Animal {
public void speak() {
System.out.println("I am a cat.");
}
}

上面的例子中,Animal類定義了一個speak方法,而Cat類繼承了Animal類后重寫了speak方法。在調(diào)用Cat類的speak方法時,會自動調(diào)用重寫后的方法,而不是調(diào)用繼承自父類的方法。

重寫的方法是在運行期間動態(tài)確定的,也就是說在調(diào)用方法時會根據(jù)對象的實際類型來確定最終調(diào)用的方法。