如果重写方法,建议在子类的方法名前加@Override 这个关键字能够判断重写是否有问题。
如果要调用父类的方法,在子类中,需要用super.方法的方式。
私有方法不能被重写(父类私有成员子类不能继承)
子类方法访问权限不能更低(public > 默认 > 私有)
代码如下
package day19;
public class Fu {
public void tell(String name){
System.out.println("父亲说"+ name);
}
void show(){
System.out.println("test");
}
}
package day19;
public class Zi extends Fu {
@Override
public void tell(String name){
System.out.println("儿子说"+name);
super.tell("龚伟");
}
//如果子类中用provate重写父类中public的方法会报错。必须保持一致才可以。如果保持一致都是private,那么重写就没啥意义,只能自己访问
/*
@Override
private void tell(String name){
System.out.println("儿子说"+name);
super.tell("龚伟");
}
*/
@Override
//备注,这里可以是public void 但是就是不能是private
void show(){
System.out.println("test1");
}
}
package day19;
public class Main {
public static void main(String[] args) {
Zi z1 = new Zi();
z1.tell("gw");
z1.show();
}
}
java不支持多继承,就是同时继承多个类