java 不要main_为什么最终变量在Java的main方法中不需要初始化?

在Java中,final是可用于字段类和方法的访问修饰符。当一个方法为final时,它不能被覆盖。

当变量为最终变量时,其值无法进一步修改。

当类结束时,无法扩展。

无需初始化即可声明最终变量

如果将变量声明为final,则必须在构造函数结束之前对其进行初始化。如果不这样做,则会生成编译时错误。

示例public class Student {

public final String name;

public final int age;

public void display(){

System.out.println("Name of the Student: "+this.name);

System.out.println("Age of the Student: "+this.age);

}

public static void main(String args[]) {

new Student().display();

}

}

编译时错误

在编译时,该程序会产生以下错误。Student.java:3: error: variable name not initialized in the default constructor

private final String name;

^

Student.java:4: error: variable age not initialized in the default constructor

private final int age;

^

2 errors

声明最终变量而不初始化

通常,声明局部变量后,需要在首次使用它之前对其进行初始化。如果尝试不进行初始化就使用它,则会收到错误消息。

但是,可以在不使用初始化的情况下声明局部变量final而不进行初始化。

例1

在下面的Java程序中,我们将局部变量声明为final。由于我们没有使用它,因此可以毫无错误地进行编译。public class Student {

public static void main(String args[]) {

final String name;

}

}

但是,如果您尝试使用它,它将产生一个错误-

例2

在下面的Java程序中,我们将局部变量声明为final并使用它public class Student {

public static void main(String args[]) {

final String name;

System.out.println(name);

}

}

编译时错误

在编译时,上述程序会产生以下错误-Student.java:4: error: variable name might not have been initialized System.out.println(name);

^

1 error

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值