一、重写
重写方法要求——返回类型、方法名、参数类型和个数一样。(方法头相同,方法体不同)
public class A {
public A(){System.out.println("A");
}
}
public class B extends A {
public B(){System.out.println("B");}
}
public class Test {
public static void main(String[] args) {
B b = new B();
}
}
————>结果是:
A
B
重载方法对返回类型不要求,只要方法名相同和参数不同就是重载
以下是重载方法:
public class C {
void run(){int a = 1;}
public int run(int a){return a;}
}
三、用途
重写和重载最大的用处就是实现多态。
public class Person{public void show(){
System.out.println("我叫1号,我会吃饭");
}
}
public class Student extends Person{
//重写
public void show(){
System.out.println("我叫2号,我会喝水");
}
}
public class Teacher extends Person{
//重写
public void show(){
System.out.println("我叫3号,我会啃面包");
}
}
现在要根据传入对象的不同,实现不同的打印,实现了多态:
public static void main(String[] args){
showInfo(new Student());
showInfo(new Teacher());
}