一、方法重载:
1.方法名相同
2.参数项不同
3.与访问修饰符和返回值无关
4.发生在同一个类中
例子:
public class Test {
public int a=0;
public int b=0;
public void play() {
System.out.println("a的值为:"+a);
}
public void play(int a) {
System.out.println("a的值为:"+a);
}
public void play(int a, int b) {
System.out.println("a的值为:"+a+",b的值为:"+b);
}
public static void main(String[] args) {
Test test = new Test();
test.play();
test.play(3);
test.play(5, 6);
}
}
输出:
a的值为:0
a的值为:3
a的值为:5,b的值为:6
二、方法重写:
1.发生在父类和子类之间
2.方法名相同
3.参数列表相同
4.返回值类型相同或者是其子类
5.访问权限不能严于父类
例子:
public class F {
public void play() {
System.out.println("这是父类!");
}
}
public class S extends F {
@Override
public void play() {
System.out.println("子类重写了父类!");
}
public static void main(String[] args) {
S s = new S();
s.play();
}
}
输出:
子类重写了父类!