问题描述
- java中 String类问题<初级程序员的自我修远>
-
刚学习java语言
我看String中源码写的private final char[] c;
为什么在自己的类中这样写就会报未初始化的错误
解决方案
private final char[] c = new char[长度];
解决方案二:
final char[] c这样写的话,c就不能再指向别的引用,但是你又没给人家初始值,编辑器自然不干了。
解决方案三:
有final属性,要有构造器,并且初始化该属性
public class Person{
private final char[] c;
public Person() {//
this.c = "123".toCharArray();
}
}
解决方案四:
我只知道final 类型的需要初始化操作。
解决方案五:
private final char[] c; 没有报错是,在构造函数里面给它赋值了。
final 变量要不声明时候给其复制,要么在构造函数中给其赋值,不然就会报错。
解决方案六:
final 修饰的变量只会被赋值一次, 要么构造函数要么声明
解决方案七:
final变量不赋值,怎么用呢?你在内存里面要了一个地址,告诉他别人都不能用了,却什么都不放在这里,这块就永远闲置啦。
jvm当然看不下去了,于是提醒你,你错了!
时间: 2024-10-29 14:14:14