子类中重写父类中方法时,其访问权限不能比父类中的方法更严格。需要调用父类中的此方法时,如我在子类中重写了Test()可以使用super.Test()来调用父类的方法。
子类不能重写父类中的private方法,因为private方法是子类访问不到的,所以不能重写,也不能直接调用。当然可以通过间接调用,如下:
Class Father{
private void print(){
System.out.println("hello world--father");
}
public void fun(){
this.print();
}
}
Class Son extends{
}
Class Test{
public static void main(String[] args) {
Son son=new son ();
//son.print();//这句就会报错,因为子类是不能知己访问父类中的private方法的
son.fun();//这里就可以在fun()中调用print()方法了
}
}
如果直接继承interface,那么就必须实现interface中的全部的方法,那么在适配器模式中,我们可以用一个抽象类在继承接口,在抽象类中重写interface中的抽象方法,此时在抽象类中的方法全部是抽象方法,我们现在就可以定义一个类直接继承抽象类,有选择的实现我们需要的方法。