猿问

关于final修饰变量,哪错了?

public class Test{
private final int i;
public Test(){

public Test(int i){
this.i=i;

慕姐9408558
浏览 1858回答 4
4回答

唐僧佷低调

final修饰的i就是常量了,要在声明的时候就给值。后面也无法修改i的值了

_小王爷

java中final 修饰的变量是不可以更改的.所以在修饰变量时,一定要赋初始值.在普通的全局变量中,如果不赋初始值,java都会有一个默认值,比如 int 的默认值为0按照以上理论,如果被final修饰的变量不赋初始值,由java指定,也就是0.又因为不可修改.那么这样赋值的意义何在?所以,final修饰的全局变量一定要赋初始值.但是,凡是都有一个但是;在修饰引用数据类型的时候,不能改变的是这个引用指向的堆内存的地址值.可以改变堆内存中的数据.

望远

属性一旦被final修饰,那么就是常量,必须在定义的时候完成初始化,并且无法修改常量值。
随时随地看视频慕课网APP

相关分类

Java
我要回答