重载:方法具有同一名字,但是具有不同参数类型就是重载,这也是多态的表现。
如:
/** * 重载:方法具有同一名字,不同参数类型就是重载,这也是多态的表现 * @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();
}
}
输出:
引擎启动
车的引擎启动
巴士的引擎启动
有意思吧?
下篇将讲创建多线程的三种方法
加油!!!!!