在Java中,我可以将最终访问修饰符与公共静态void main(String args[]){}方法一起使用吗?

在Java中,我可以将最终访问修饰符与公共静态void main(String args[]){}方法一起使用吗?,java,main,access-modifiers,Java,Main,Access Modifiers,Java 1.8中的main()还可以使用哪些访问修饰符 可以,但是与静态方法一起使用时,final没有意义,因为静态方法无论如何都不能被重写 顺便说一下,final和static不是访问修饰符。控制允许哪个实体访问方法/字段。final不会影响该方法,因为它已声明为静态,因此不会以任何方式影响程序。这只意味着您不能在子类中隐藏此方法 所以如果你想上一门课 class Test{ public static final void main(String args[]){ }

Java 1.8中的main()还可以使用哪些访问修饰符

可以,但是与静态方法一起使用时,
final
没有意义,因为静态方法无论如何都不能被重写


顺便说一下,final和static不是访问修饰符。控制允许哪个实体访问方法/字段。

final
不会影响该方法,因为它已声明为静态,因此不会以任何方式影响程序。这只意味着您不能在子类中隐藏此方法

所以如果你想上一门课

class Test{

    public static final void main(String args[]){

    }

}

您不能在此类中创建
公共静态void main(字符串args[])
函数。

您可以使用
final
修饰符。你可以通过简单地编译你在问题中给出的程序看到这一点

对于应用于方法的
final
关键字,有如下说明:

方法可以声明为final,以防止子类重写或隐藏它


也就是说,如果该方法是一个实例方法(不是静态的),则可以重写它,并且
final
将防止这种情况发生。如果一个方法是静态的,它可以被隐藏,而
final
将阻止这种情况。

一个
静态的
方法可以
final
。如第8.4.4.3节所述,当静态方法是最终方法时,这意味着子类不能“隐藏”它,即定义具有相同名称和相同签名的方法


因此,您可以在
main
方法上使用
final
。该方法可用作程序的主要入口点。此外,子类或主类将无法隐藏它。

编译器会怎么说?无编译错误其他可选说明符可以与main()一起使用什么Java中的方法?
静态
方法无法重写。我检查了编译器,当超类方法不是
最终
时,它实际上可以在超类中隐藏该方法。你指的是别的吗?@Pshemo,编辑了答案以确保正确性。感谢您让我们注意到我们称之为Java中的静态、最终关键字(非访问修饰符:)
class Hello2 extends Test {
....
}