java为什么在公共类和main()方法中总是一个变量总是需要是“final”
为什么在公共类和main()方法中总是变量必须是final。代码如下:
public class A {
public static void main(String args[]) {
final int a;
}
}
在上面的代码中,变量不能是public、private或final以外的任何东西。你能告诉我为什么吗。谢谢
你可以在下面搜索框中键入要查询的问题!
为什么在公共类和main()方法中总是变量必须是final。代码如下:
public class A {
public static void main(String args[]) {
final int a;
}
}
在上面的代码中,变量不能是public、private或final以外的任何东西。你能告诉我为什么吗。谢谢
# 1 楼答案
根据java,局部变量只允许提供最终访问权,它不会是公共的、私有的或任何东西。声明的变量位于main方法内部,因此它是局部变量。只允许为局部变量指定final
# 2 楼答案
它不必是
final
它不能是
public
或private
,因为它是main
方法范围内的局部变量public
或private
在这里没有意义。它们只能用于member变量# 3 楼答案
它是一个局部变量。只有实例或静态变量可以具有访问修饰符
例如,一个实例变量:
# 4 楼答案
在任何类(不仅仅是公共类)中,所有变量都必须是最终变量,这一点是不必要的。有时,您可能需要确保变量的值在一段时间内不会被修改,因此您可以将其标记为final
如果成员变量被多个线程共享,那么将成员变量设置为final可以确保它们是线程安全的
# 5 楼答案
方法中的变量没有自己的访问控制,不能公开Java方法内部的变量
# 6 楼答案
它不是。它是一个方法局部变量,所以它不能有任何访问修饰符,但它可以是final或non-final。它与封闭类是公共的或封闭方法是
main()
无关。这只是因为它是一个局部变量。只有成员变量可以具有访问修饰符