为什么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条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Linux

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

来自分类Dev

为什么我需要在开始块中初始化变量

来自分类Dev

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

来自分类Dev

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

来自分类Dev

为什么结构数组不需要大括号初始化?

来自分类Dev

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

来自分类Dev

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

来自分类Java

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Java - 我需要在 main 方法中使用变量布尔值,在外部初始化但在同一个类中

来自分类Dev

为什么我应该在声明时初始化数据成员(在构造函数上不需要)?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Java

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

来自分类Dev

为什么需要在 Spring Boot 中自动装配和初始化一个方法

来自分类Dev

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

来自分类Dev

为什么我需要在 C 中初始化 pthread 互斥锁?

来自分类Dev

为什么需要在 JS 中等待 AJAX 调用,而在 C# 中不需要?

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

    为什么我需要在开始块中初始化变量

  9. 9

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

  10. 10

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

  11. 11

    为什么结构数组不需要大括号初始化?

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

    Java - 我需要在 main 方法中使用变量布尔值,在外部初始化但在同一个类中

  18. 18

    为什么我应该在声明时初始化数据成员(在构造函数上不需要)?

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

    为什么需要在 Spring Boot 中自动装配和初始化一个方法

  25. 25

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

  26. 26

    为什么我需要在 C 中初始化 pthread 互斥锁?

  27. 27

    为什么需要在 JS 中等待 AJAX 调用,而在 C# 中不需要?

  28. 28

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

  29. 29

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

热门标签

归档