多載的定義是:在同一個類別內,另外定義一個方法名稱相同、但是參數數目和資料型態不同的方法。多載的技巧除了用在方法上之外,建構子也可以使用。
方法的多載:
class Car{
public void setCar(String s){
System.out.printf("車號:%s",s);
}
public void setCar(int d){
System.out.printf("油量:%d",d);
}
public void setCar(String i,int g){
System.out.printf("車名:%s 價錢:%d",i,g);
}
}
public class Sample {
public static void main(String[] args) {
// TODO Auto-generated method stub
Car c1 = new Car();
c1.setCar("BMW",2000000);
}
}
//執行結果: 車名:BMW 價錢:2000000
建構子的多載:
介紹建構子的多載之前必須先了解何謂建構子,建構子和方法有點類似,但是建構子是用在當我們透過某個既有的類別建立物件時,會順便自動呼叫並執行建構式的內容。
多載也可以用在建構子上,根據上述的定義,建構子的多載就是可以同時建立多個建構式,但是參數數目和資料型態一定要不同。
class Car{
private String name;
private int gas,dollar;
public Car(String name,int gas){
}
public Car(String name,int gas,int dollar){
this.name = name;
this.gas = gas;
this.dollar = dollar;
}
public void show(){
System.out.printf("車名:%s,油量:%d,價錢:%d",name,gas,dollar);
}
}
public class Sample {
public static void main(String[] args) {
// TODO Auto-generated method stub
Car c1 = new Car("BMW",2000,1800000);
c1.show();
}
}
//執行結果: 車名:BMW,油量:2000,價錢:1800000
覆寫(overriding):
其定義是: 在子類別當中定義另一方法名稱、參數數量和資料型態都完全相同的方法。
class Car{
public void show(){
System.out.printf("show Car");
}
}
class RacingCar extends Car{
public void show(){
System.out.println("show RacingCar");
}
}
public class Sample {
public static void main(String[] args) {
// TODO Auto-generated method stub
RacingCar c1 = new RacingCar();
c1.show();
}
}
//執行結果: show RacingCar
沒有留言:
張貼留言