为什么Final变量不需要在Java的main方法中初始化?

商会:

当我只是尝试使用Java编写一些程序时,我尝试使用final变量,我知道final变量必须在声明时进行初始化,但是在main方法内部它接受了final没有初始化变量。我不知道是什么原因。任何人都可以告诉我原因。

谢谢

码:

class name
{
     final int b; //here shows error
     public static void main(String args[])
    {
        final int a; // here no error... why?
        System.out.println("hai");
    }
}
Davide Lorenzo MARINO:

对于实例变量水平

  • 最终变量只能初始化一次。

  • 必须在构造函数结束之前初始化类级别的最终变量

对于本地(方法)级别

  • 方法级别的最终变量只能初始化一次。
  • 使用前必须先初始化

因此,基本上,如果您不使用局部最终变量,也可以跳过它的初始化。

如果变量处于实例级别,则必须在定义或构造函数主体中对其进行初始化。

在您的代码中,您有一个final int b从未初始化的实例变量,因此会出现错误。

您还有一个final int a从未使用过的局部变量因此,该变量没有错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Linux

为什么我需要在TensorFlow中初始化变量?

来自分类Java

为什么Java 8中的lambda表达式需要在其中使用变量才能使用“最终”修饰符,而在使用方法引用时却不需要?

来自分类Java

Java:为什么需要初始化原始的本地变量?

来自分类Java

Java实例数组不需要初始化数组大小吗?

来自分类Dev

为什么struct缓冲区不需要初始化

来自分类Dev

为什么有时不需要在Lambda中捕获const变量?

来自分类Dev

为什么局部变量需要初始化,而字段却不需要初始化?

来自分类Dev

为什么const变量不需要在C中初始化?

来自分类Dev

什么时候需要在Java中初始化变量?

来自分类Dev

为什么Java不允许在构造函数中初始化静态最终变量(例如static final int d)?

来自分类Dev

为什么引用变量需要在定义时进行初始化?

来自分类Dev

为什么引用变量需要在声明时进行初始化

来自分类Dev

为什么非常数静态变量需要在类外部初始化?

来自分类Dev

符合Decodable的类不需要初始化

来自分类Dev

编写不需要初始化的固定功能

来自分类Dev

如何在类初始化中摆脱不需要的参数?

来自分类Dev

为什么Dart只允许在初始化列表中初始化Final变量?

来自分类Dev

什么时候不需要通过lambda执行来初始化惰性变量?

来自分类Dev

为什么我不需要在cmake中调用`add_test`?

来自分类Dev

世博会初始化不需要的git repo

来自分类Dev

为什么我不需要在Mac OS X中设置CLASSPATH和JAVA_HOME?

来自分类Dev

为什么包含main方法的类不需要在Java中公开?

来自分类Dev

为什么最终实例变量不需要初始化,而最终局部变量不需要初始化?

来自分类Dev

为什么不需要在构造函数中指定变量?

来自分类Dev

为什么Java需要初始化变量?

来自分类Dev

如果std :: make_unique从未被调用,为什么默认成员初始化中不需要该参数?

来自分类Dev

为什么我不需要32位密钥或NodeJS加密的初始化向量?

来自分类Dev

为什么Java中的某些方法不需要创建实例即可使用?

来自分类Dev

长时间ext4lazyinit会损坏驱动器吗?为什么要在ext4中初始化inode表(在NTFS中不需要任何初始化)?等等

Related 相关文章

  1. 1

    为什么我需要在TensorFlow中初始化变量?

  2. 2

    为什么Java 8中的lambda表达式需要在其中使用变量才能使用“最终”修饰符,而在使用方法引用时却不需要?

  3. 3

    Java:为什么需要初始化原始的本地变量?

  4. 4

    Java实例数组不需要初始化数组大小吗?

  5. 5

    为什么struct缓冲区不需要初始化

  6. 6

    为什么有时不需要在Lambda中捕获const变量?

  7. 7

    为什么局部变量需要初始化,而字段却不需要初始化?

  8. 8

    为什么const变量不需要在C中初始化?

  9. 9

    什么时候需要在Java中初始化变量?

  10. 10

    为什么Java不允许在构造函数中初始化静态最终变量(例如static final int d)?

  11. 11

    为什么引用变量需要在定义时进行初始化?

  12. 12

    为什么引用变量需要在声明时进行初始化

  13. 13

    为什么非常数静态变量需要在类外部初始化?

  14. 14

    符合Decodable的类不需要初始化

  15. 15

    编写不需要初始化的固定功能

  16. 16

    如何在类初始化中摆脱不需要的参数?

  17. 17

    为什么Dart只允许在初始化列表中初始化Final变量?

  18. 18

    什么时候不需要通过lambda执行来初始化惰性变量?

  19. 19

    为什么我不需要在cmake中调用`add_test`?

  20. 20

    世博会初始化不需要的git repo

  21. 21

    为什么我不需要在Mac OS X中设置CLASSPATH和JAVA_HOME?

  22. 22

    为什么包含main方法的类不需要在Java中公开?

  23. 23

    为什么最终实例变量不需要初始化,而最终局部变量不需要初始化?

  24. 24

    为什么不需要在构造函数中指定变量?

  25. 25

    为什么Java需要初始化变量?

  26. 26

    如果std :: make_unique从未被调用,为什么默认成员初始化中不需要该参数?

  27. 27

    为什么我不需要32位密钥或NodeJS加密的初始化向量?

  28. 28

    为什么Java中的某些方法不需要创建实例即可使用?

  29. 29

    长时间ext4lazyinit会损坏驱动器吗?为什么要在ext4中初始化inode表(在NTFS中不需要任何初始化)?等等

热门标签

归档