方法重载
重载的要求:
- 方法名相同
- 参数列表不同
注:参数列表不同可以是: 参数个数,参数类型, 参数顺序
参数名,返回值类型,修饰符类型不用做重载的标志
public static void test(){
}
public void test(int x){
}
方法重写:
子类自动继承了父类中的非私有的属性和方法,但是有时候子类要对继承的方法进行一些修改, 即对父类方法进行重写.
子类重写的方法需要满足:
和父类被重载的方法具有相同的方法名,参数列表以及返回值类型.
另外,子类重写父类方法时,不能使用比父类中被重写的方法更严格的访问权限.
代码实例
Person.java
public class Person {
private int age;
private String name;
public void eat(){
System.out.println("人的eat");
}
}
Student.java
public class Student extends Person{
String stuNum;
@Override
public void eat(){
System.out.println("学生的eat");
}
}
@Override注解,表示重写(可以不写),作用:
1.可以当注释用,方便阅读;
2.编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。