class Test{
public static final void main(String args[]){
}
}
Java 1.8中的main()可以使用哪些其他访问修饰符?
答案 0 :(得分:4)
是的,你可以,但final
与静态方法一起使用时没有意义,因为无论如何都不能覆盖静态方法。
顺便说一句,final和static不是访问修饰符。 Access modifiers控制允许哪个实体访问方法/字段。
答案 1 :(得分:4)
您可以使用final
修饰符。您只需编译您在问题中提供的程序即可看到。
关于应用于方法的final
关键字,Java Language Specification可以说明这一点:
可以将方法声明为final,以防止子类覆盖或隐藏它。
也就是说,如果方法是实例方法(非静态),则可以覆盖它,final
将阻止它。如果方法是静态的,则可以隐藏它,final
将阻止该方法。
答案 2 :(得分:0)
final
不会影响该方法,因为它已经声明为static
,因此它不会以任何方式影响程序。它只表示您无法在子类中隐藏此方法。
因此,如果你想上课
class Hello2 extends Test {
....
}
您无法在此课程中创建public static void main(String args[])
函数。
答案 3 :(得分:0)
static
方法可以为final
。正如Java Language Specification第8.4.4.3节所述,当静态方法是最终的时,它意味着子类不能“隐藏”它,即定义一个具有相同名称和相同签名的方法。
因此,您可以在final
方法上使用main
。该方法可用作程序的主要入口点。此外,子类或您的主类将无法隐藏它。