2 dzq boyka Dzq_Boyka 于 2015.07.21 17:24 提问

成员变量的使用问题?

为什么成员变量可以直接在方法中用?而不用new?比如这个

字符串类型的数组String [ ] str; (非静态)
作为成员变量后,可以在方法中直接赋值--str[0]="a";str[1]="b";
但是在方法中就必须先 new出来才能给其赋值---String [ ] str =new String[10];

4个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.21 17:26
已采纳
 String [ ] str;肯定得先new后才能赋值,如果类中,看看是不是在构造函数中初始化new了。
danielinbiti
danielinbiti 回复Dzq_Boyka: 好,如果有帮助,有时间就顺手采纳一下
2 年多之前 回复
Dzq_Boyka
Dzq_Boyka 没有了,多谢!
2 年多之前 回复
danielinbiti
danielinbiti 回复Dzq_Boyka: 你想要什么效果呢
2 年多之前 回复
Dzq_Boyka
Dzq_Boyka 。。。
2 年多之前 回复
danielinbiti
danielinbiti 回复Dzq_Boyka: String [ ] str = new String[5];这5就是长度
2 年多之前 回复
Dzq_Boyka
Dzq_Boyka 回复danielinbiti: 那如何在使用时给定长度?例子,多谢!!
2 年多之前 回复
danielinbiti
danielinbiti 回复Dzq_Boyka: 在java中,申明可以不给长度,但要用的时候必须给定长度,不然数组越界
2 年多之前 回复
Dzq_Boyka
Dzq_Boyka 同时也不初始化
2 年多之前 回复
Dzq_Boyka
Dzq_Boyka 那数组在声明时能不能不给定长度?
2 年多之前 回复
CSDNXIAOD
CSDNXIAOD   2015.07.21 17:29

C++中的成员变量的内存分配问题
Static成员变量的使用
C++ 类成员引用变量的使用
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Dzq_Boyka
Dzq_Boyka 在下java猿------duang!duang!duang!duang! -------啊厚 啊厚 啊厚 嗷~~~
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.07.21 17:37

string是一个特例,它不需要new。之所以这样是因为stirng特殊的实现机制,它是只读的,以及它太常用了,所以值得被特殊处理。

tongyi55555
tongyi55555 大神,这个你说的不对啊。必须要new才可以的。
2 年多之前 回复
Dzq_Boyka
Dzq_Boyka thank !阿里嘎多
2 年多之前 回复
tongyi55555
tongyi55555   2015.07.21 22:16

必须使用new的,不管你是在类变量中还是方法变量中。都必须要使用new为数组分配空间的。

如果你是可变数组,建议你直接使用List而不是使用数组。

Dzq_Boyka
Dzq_Boyka 伙计,给个可变数组的例子?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片