zoukankan      html  css  js  c++  java
  • final方法修饰继承问题

    class WithFinal{
    private final void f(){
    System.out.println("WithFinal.f()");
    }
    private void g(){
    System.out.println("WithFinal.g()");
    }
    }

    class OverridingPrivate extends WithFinal{
    private final void f(){
    System.out.println("OverridingPrivate.f()");
    }
    private void g(){
    System.out.println("OverridingPrivate.g()");
    }
    }
    class OverridingPrivate2 extends OverridingPrivate{
    public final void f(){
    System.out.println("OverridingPrivate2.f()");
    }
    public void g(){
    System.out.println("OverridingPrivate2.g()");
    }
    }
    public class FinalOverriding {
    public static void main(String[] args) {
    OverridingPrivate2 op2 = new OverridingPrivate2();
    op2.f();
    op2.g();
    OverridingPrivate op = op2;
    op.f();//编译报错
    op.g();//编译报错
            WithFinal wf = op2;
    wf.f();//编译报错
         wf.g();//编译报错
        }
    }
    为什么???

  • 相关阅读:
    第十三周作业
    第十二周作业2
    第十二周作业
    第十一次作业
    第十周作业
    第九周作业
    第十五次作业
    十四周上机作业
    第十三周上机作业
    第十二周作业
  • 原文地址:https://www.cnblogs.com/jrkl/p/14506498.html
Copyright © 2011-2022 走看看