重載:方法具有同一名字,但是具有不同參數類型就是重載,這也是多態的表現。
如:
/**
* 重載:方法具有同一名字,不同參數類型就是重載,這也是多態的表現
* @author Ant
*
*/
public class Overloading {
public void receive(int i){
System.out.println("接收了int類型的數據:"+ i);
}
public void receive(double i){
System.out.println("接收了double類型的數據:"+ i);
}
public void receive(String i){
System.out.println("接收了String類型的數據:"+ i);
}
public static void main(String[] args) {
Overloading o = new Overloading();
o.receive(1);
o.receive(1.0);
o.receive("hello world");
}
}
輸出:
接收了int類型的數據:1
接收了double類型的數據:1.0
接收了String類型的數據:hello world
其實重載在java無處不在,隨便一個String類都能見到,忘記時,多想想,這就是overload(重載)
重寫/覆蓋
子類繼承父類,子類具備父類所有特性,子類可以重寫父類方法。
特點:參數和返回值都得相同。
/**
* 重寫/覆蓋
* 子類繼承父類,子類具備父類所有特性,子類可以重寫父類方法,特點:參數和返回值都得相同。
* @author Ant
*
*/
public class Overriding {
static class Auto {
public void startEngine(){
System.out.println("引擎啓動");
}
}
static class Car extends Auto{
public void startEngine(){
System.out.println("車的引擎啓動");
}
}
static class Bus extends Auto{
public void startEngine(){
System.out.println("巴士的引擎啓動");
}
}
public static void main(String[] args) {
Auto auto = new Auto();
Car car = new Car();
Bus bus = new Bus();
auto.startEngine();
car.startEngine();
bus.startEngine();
}
}
輸出:
引擎啓動
車的引擎啓動
巴士的引擎啓動
有意思吧?
下篇將講創建多線程的三種方法
加油!!!!!