重载
类里面的方法名相同,参数和返回类型不同
- 参数:不同
- 返回类型: 可以相同
- 异常: 可以修改
- 访问限制: 可以修改
public class Overloading {
public int test(){
System.out.println("test1");
return 1;
}
public void test(int a){
System.out.println("test2");
}
public String test(int a,String s){
System.out.println("test3");
return "returntest3";
}
public String test(String s,int a){
System.out.println("test4");
return "returntest4";
}
public static void main(String[] args){
Overloading o = new Overloading();
System.out.println(o.test());
o.test(1);
System.out.println(o.test(1,"test3"));
System.out.println(o.test("test4",1));
}
}
复制代码
重写
继承父类之后重写父类的方法
- 参数:相同
- 返回类型: 相同
- 异常: 可以减少,不可以增加
- 访问限制: 可以降低,不可以上升
class Animal{
public void move(){
System.out.println("动物可以移动");
}
}
class Dog extends Animal{
public void move(){
System.out.println("狗可以跑和走");
}
}
public class TestDog{
public static void main(String args[]){
Animal a = new Animal();
Animal b = new Dog();
a.move();
b.move();
}
}
复制代码