介绍
现在我们来试一下
代码
父类
package b;public class father_ {//father class//4attributepublic 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,子类的方法重载不能缩小权限