2 qq 21840787 qq_21840787 于 2016.04.07 22:14 提问

java中 String类问题<初级程序员的自我修远>

刚学习java语言
我看String中源码写的

 private final char[] c;

为什么在自己的类中这样写就会报未初始化的错误

7个回答

caozhy
caozhy   Ds   Rxr 2016.04.07 22:52

private final char[] c = new char[长度];

luochoudan
luochoudan   Ds   Rxr 2016.04.07 23:45

final char[] c这样写的话,c就不能再指向别的引用,但是你又没给人家初始值,编辑器自然不干了。

taoleialskdjfhg
taoleialskdjfhg   2016.04.07 22:39

有final属性,要有构造器,并且初始化该属性

public class Person{
private final char[] c;

public Person() {//
    this.c = "123".toCharArray();
}

}

qq_25827845
qq_25827845   2016.04.07 22:44

我只知道final 类型的需要初始化操作。

fubo1990
fubo1990   2016.04.08 08:48

private final char[] c; 没有报错是,在构造函数里面给它赋值了。
final 变量要不声明时候给其复制,要么在构造函数中给其赋值,不然就会报错。

qq_26431469
qq_26431469   2016.04.08 09:53

final 修饰的变量只会被赋值一次, 要么构造函数要么声明

peterlee1983
peterlee1983   2016.04.08 10:33

final变量不赋值,怎么用呢?你在内存里面要了一个地址,告诉他别人都不能用了,却什么都不放在这里,这块就永远闲置啦。
jvm当然看不下去了,于是提醒你,你错了!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
初级Java程序员 - 自我总结
本人只是一个刚毕业入行不久的初级程序员,从开始对代码的复杂度、可读性,性能一点不考虑的小白变成一名能够带着思想去写代码的程序员。下面我就从我写过的代码,踩过的坑中总结一下属于自己的经验。 1、命名规范 在各种类,方法,对象的命名上要规范。好的命名可以使人一眼能够明白你所写的内容,使用拼音命名的就太low逼了,不知道英语单词怎么写,百度翻译是好的选择。 下面列出一个删除评论的方法做一下比较:
如何成为一名JAVA初级程序员
    目前,JAVA是开发人员的热宠,很多论坛都有不少热爱JAVA的开发人员,也有不少想成为JAVA程序员,但苦于不知道该如何学习,也不清楚该学些什么知识才能成为一个JAVA程序员。本人在这里抛砖引玉,和大家讨论成为一个JAVA初级程序员应该具有的知识,与大家共享。   个人认为想成为一个合格的JAVA初级程序员应该具备如下知识:   一、面向对象的知识:JAVA是一个面向对象的开发语言,因此熟
String的equals方法改写
近日看string类,想到了一个问题。 string是有常量池的概念的,所以string中的属性value,如果值相同,那么不同的string对象的value数组会指向到常量池中的同一个char[]对象的。 但是string的equals方法,比较的却是两个value属性(char数组)每个元素的大小,但其实如果字符串内容相同,value是指向同一个对象的,那么比较两个string的value
java的String类中的其中一个subString方法的源码
substring(int beginIndex, int endIndex) 返回字符串的时候,包括beginIndex位置的元素,但不包括endIndex位置的元素
介绍java中String类的方法
介绍java中String类的方法,String类实例的创造
java中String类源代码学习
源代码阅读工具连接SourceInsight:http://www.sourceinsight.com/。 java中的String类可谓是重中之重,java保证其不变性,其有很多方法例如substring() , concat() , replace()  , join(), toLowerCase() , trim() , format() 等都似乎是会改变现有的对象,当然这不会发生。读St
Java初级程序员面试题大全
一、基础和语法   1.      Java中的进制:   (在线阅读地址:http://www.iwwenbo.com/2014/12/07/job-audition-1.html)   1)十进制 à 二进制      例:100(10进制)  =  ?(2进制)      解:  100  = 64 + 32 + 4                 = 2^6 + 2^5
JAVA 中string类的运用
Java中String类和常用方法 实例化String对象
java程序员面试自我介绍
当面试考官随便地问你:“谈谈你自己的情况如何?”这是面试中的第一个问题。此刻,你应把在此之前所有紧张不安的情绪稳定下来。因为这个问题,应试者已经做了充分的准备,并且有足够的信心和勇气相信自己能回答好这个问题。  1、面试自我介绍的内容     首先请报出自己的姓名和身份。可能应试者与面试考官打招呼时,已经将此告诉了对方,而且考官们完全可以从你的报名表、简历等材料中了解这些情况,但仍请你主动提及
如何成为一个合格的JAVA初级程序员
一、面向对象的知识:JAVA是一个面向对象的开发语言,因此熟悉面向对象对学习JAVA很有必要,您要了解:什么是对象,什么是类;什么是封装,什么是多态,什么是继承;什么是抽象类,什么是接口。了解了概念后,您还需要这些概念是如何体现的,如类和对象有什么区别?类是如何封装的?    二、JAVA语法:如果您已经有了开发经验,恭喜您,您学习JAVA语法来将比较容易。如果您有C++等面向对象语言的开发经验