Java 方法
Java中的私有private和最终方法final
当我们在方法中使用final说明符时,该方法不能在任何继承类中重写。由于设计原因,方法是最终的。
由于私有方法是不可访问的,所以它们在Java中是隐含的最终结果。因此,将最终说明符添加到私有方法中并不会增加任何值。事实上可能会造成不必要的混淆。
class Base {
private final void foo() {}
// The above method foo() is same as following. The keyword
// final is redundant in above declaration.
// private void foo() {}
}
例如,下面的'程序1'和'程序2'都会产生相同的编译器错误“foo()在Base中有专用访问”。
示例2
// file name: Main.java
class Base {
private final void foo() {}
}
class Derived extends Base {
public void foo() {}
}
public class Main {
public static void main(String args[]) {
Base b = new Derived();
b.foo();
}
}
示例2
// file name: Main.java
class Base {
private void foo() {}
}
class Derived extends Base {
public void foo() {}
}
public class Main {
public static void main(String args[]) {
Base b = new Derived();
b.foo();
}
}