一个父类的方法如何不让子类修改?

解决方案 »

  1.   

    利用finalpublic class AA {
    final public void aaa(){

    }
    }
    class BB extends AA{
    public static void main(String[] args) {
    BB b = new BB();
    b.aaa();
    }
    }
      

  2.   

    final修饰的类不许继承,
    final修饰的方法不许重写,
      

  3.   

    使用final修饰,是方法不允许被重写
      

  4.   

    静态方法不会被覆盖掉。
    01:  class Super
    02:  {
    03:      static String greeting()
    04:      {
    05:         return "Goodnight";
    06:      }
    07:
    08:      String name()
    09:      {
    10:         return "Richard";
    11:      }
    12:  }
     
    01:  class Sub extends Super
    02:  {
    03:      static String greeting()
    04:      {
    05:         return "Hello";
    06:      }
    07:
    08:      String name()
    09:      {
    10:         return "Dick";
    11:      }
    12:  }
     
    01:  class Test
    02:  {
    03:      public static void main(String[] args)
    04:      {
    05:         Super s = new Sub();
    06:         System.out.println(s.greeting() + ", " + s.name());
    07:      }
    08:  }
      

  5.   

    静态方法不会被覆盖掉。
    01:  class Super
    02:  {
    03:      static String greeting()
    04:      {
    05:         return "Goodnight";
    06:      }
    07:
    08:      String name()
    09:      {
    10:         return "Richard";
    11:      }
    12:  }
     
    01:  class Sub extends Super
    02:  {
    03:      static String greeting()
    04:      {
    05:         return "Hello";
    06:      }
    07:
    08:      String name()
    09:      {
    10:         return "Dick";
    11:      }
    12:  }
     
    01:  class Test
    02:  {
    03:      public static void main(String[] args)
    04:      {
    05:         Super s = new Sub();
    06:         System.out.println(s.greeting() + ", " + s.name());
    07:      }
    08:  }
      

  6.   

    另外private或者static修饰的成员方法也是不能被子类覆盖的,他们同成员变量一样都不属于“接口”的一部分,就不能继承了,也就不能被覆盖修改了。
      

  7.   

    final关键字,修饰后不允许修改、继承
      

  8.   

    昨天刚看几页Thinking in Java,上面说使用Private来修饰就能隐藏实现细节了,讲的很明白,LZ可以看看去
    上面说的使用Final也是可以的.
    学习一下
      

  9.   

    不是用private子类就看不到了么=。=
      

  10.   

    你可以看看不变模式,类似java的String。
      

  11.   

      只要不去继承就不会被子类修改了!
       利用final 关键字最好!
      

  12.   

    你们有没想过,要是用了private,理论上子类没法看到他,也就没有改写这一说了但是作为一个private的方法,不是变得没有意义了吗(不能给别人和孩子调用) ...还是用final吧...