1、@Override只能修饰方法,不能修饰参数,只能重写方法
2、static静态方法不能被重写
3、不能重写父类私有的方法
4、权限必须大于等于父类方法的权限(例如父类的方法是public,继承类的方法用private会报错)
5、@Override:可以验证子类中的方法是否和父类中的一样,若和父类方法不同则报错。(不加@Override不会报错但是方法就是新的方法不是继承父类的方法)
6、应用场景:当父类的方法不能完全满足子类使用,这个时候子类重写父类的方法
public class DemoApplication {
public static void main(String[] args) {
Child child = new Child();
System.out.println(child.getName());
// SpringApplication.run(DemoApplication.class, args);
}
}
//final类最终类,不能被继承
final class ParentFinalClass {
String name = "Parent";
static String nameStatic = "ParentStatic";
}
class Parent {
String name = "Parent";
static String nameStatic = "ParentStatic";
//private不能被子类继承
private static String namePrivate = "ParentPrivate";
String getName() {
return name;
}
static String getNameStatic() {
return nameStatic;
}
}
//关键字extends继承父类
class Child extends Parent {
String name = "Child";
static String nameStatic = "ChildStatic";
@Override
String getName() {
return name;
}
// //错误!!!静态方法不能被继承。@Override
// String getNameStatic() {
// return nameStatic;
// }
}