欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java重寫(xiě)和方法重載

Java編程語(yǔ)言中提供了兩種方法來(lái)實(shí)現(xiàn)多態(tài)性——重寫(xiě)和方法重載。

重寫(xiě)指的是子類重新定義父類中已有的方法,但不改變方法名和參數(shù)列表。重寫(xiě)方法會(huì)繼承父類中方法的實(shí)現(xiàn),但是子類也可以使用自己的實(shí)現(xiàn)。如果方法在子類中被重寫(xiě),則每種數(shù)據(jù)類型都需要提供其特殊的實(shí)現(xiàn),這樣才能實(shí)現(xiàn)多態(tài)性。

public class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
public class Cat extends Animal {
public void makeSound() {
System.out.println("The cat purrs");
}
}
public class Dog extends Animal {
public void makeSound() {
System.out.println("The dog barks");
}
}
public class Main {
public static void main(String[] args) {
Animal myAnimal = new Animal();
Animal myCat = new Cat();
Animal myDog = new Dog();
myAnimal.makeSound();
myCat.makeSound();
myDog.makeSound();
}
}
output:
 The animal makes a sound
 The cat purrs
 The dog barks

方法重載允許定義一個(gè)方法名相同但參數(shù)類型不同的多個(gè)方法。當(dāng)不同類型的方法調(diào)用時(shí),Java會(huì)自動(dòng)選擇最匹配的方法來(lái)執(zhí)行。

public class Math {
public int add(int x, int y) {
return x + y;
}
public double add(double x, double y) {
return x + y;
}
}
public class Main {
public static void main(String[] args) {
Math myMath = new Math();
int sumInt = myMath.add(5, 10);
double sumDouble = myMath.add(5.5, 10.5);
System.out.println("Sum of integers: " + sumInt);
System.out.println("Sum of doubles: " + sumDouble);
}
}
output:
Sum of integers: 15
Sum of doubles: 16.0

需要注意的是,方法重載要求方法名相同,但參數(shù)類型、個(gè)數(shù)或順序需要不同。當(dāng)參數(shù)類型、個(gè)數(shù)或順序都相同的時(shí)候,重載將無(wú)法實(shí)現(xiàn)。