间接调用父类私有成员方法、通过抽象类可以达到不需要实现接口所有方法的目的...

mac2022-06-30  24

子类中重写父类中方法时,其访问权限不能比父类中的方法更严格。需要调用父类中的此方法时,如我在子类中重写了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中的抽象方法,此时在抽象类中的方法全部是抽象方法,我们现在就可以定义一个类直接继承抽象类,有选择的实现我们需要的方法。

转载于:https://www.cnblogs.com/CodeMeteor/p/3663143.html

最新回复(0)