我不能在同一行上同时拥有两个关键词:private final ...()?

时间:2012-03-16 14:06:29

标签: java

我知道当你在java中创建一个方法final时,它无法被覆盖。

当方法为private时,它只能由方法所在的给定类的方法和成员访问。

那么,是否意味着由于无法访问该方法,因此尝试检查是否可以覆盖它是没有用的,因为我编写了以下声明并收到以下警告:

  

私有方法addCode被声明为final

 private final void addCode(String code)
     {
        //codes here...
     }

3 个答案:

答案 0 :(得分:8)

嗯,私有意味着除了你之外没有人会访问该方法,最终意味着没有人可以重载该方法。但是因为唯一可以访问它的人就是你,所以没有任何意义。你不能成为自己的超类。

就像锁定文档一样,只有具有访问权限的人才能进行写入。

答案 1 :(得分:2)

无法覆盖私有方法,因为子类不可见。

答案 2 :(得分:1)

如果方法是final,private或static,则无法覆盖该方法。