是的,我们可以在Java中将main()方法声明为final 。编译器不会引发任何错误。
如果我们通过放置final 关键字将任何方法声明为final方法,则该方法将成为final方法。
Java中final方法的主要用途是它们不会被覆盖。
我们不能在子类中覆盖final方法。
如果我们使用继承,并且我们需要一些方法不能在子类中覆盖,那么我们需要将其定型,以使这些方法不能被子类覆盖。
我们可以访问˚F伊纳勒方法在子类中,但我们不能重写final方法。
class BaseClass {
public final void show(Object o) {
System.out.println("BaseClass method");
}
}
class DerivedClass extends BaseClass {
public void show(Integer i) {
System.out.println("DerivedClass method");
}
}
public class Test {
public static final void main(String[] args) { // declaring main () method with final keyword.
BaseClass b = new BaseClass();
DerivedClass d = new DerivedClass();
b.show(new Integer(0));
d.show(new Integer(0));
}
}输出结果
BaseClass method DerivedClass method