介绍
现在我们来试一下
代码
父类
package b;
public class father_ {//father class
//4attribute
public void cry() {
System.out.println("小动物叫唤");
}
}
package b;
子类
public class graduate extends father_ {
public void cry() {//子类方法
//非私有的属性和方法可以直接在子类访问,但私有属性和方法不能在子类直接访问
System.out.println("小狗汪汪叫");
// test400();
}
}
主类
package b;
public class main_ {
public static void main(String[] args) {
graduate gra=new graduate();
gra.cry();//这个时候,子类的cry方法就重写了父类的方法
}
}
结果,调用了子类的方法
小狗汪汪叫
注意细节
对于这里提到的第二点,如父类为 public object m1...即返回类型是object 子类是public string m1.返回类型是string..仍能构成重写,因为string 还是object的子类。
对于第三点,如果我在父类中的方法是
public void eat(){}
而我在子类中的方法是protected void eat,那么这个时候我就相当于是缩小了访问的范围。因为public的访问权限大于protected,子类的方法重载不能缩小权限