一个JAVA基础问题

来源:百度知道 编辑:UC知道 时间:2024/04/26 21:01:18
请问 String valuefs;和String values = null;有何区别啊?
多谢DD们。

String values;//定义一个该结构的数据
String values=null;//定义一个该结构的数据并把他指向一个影子 什么也没有

后者变量被初始化,而前者没有

两者是一样的,你不要被上面的两人误导。因为String是一个类,所以它的变量是引用类型而值类型故在编译时没有被显式的给初始一个null值编译器也会帮你做的。你可以看一下Thinking in java里面有所讲解。

用法上有区别。。。。

做为类的成员变量时,当类被实例化的时候String valuef会被自动初始化赋值成null,这点上两种方法差不多。

但是如果做为方法中的变量String valuefs初始化是错误的,除非你不用,因为方法是放在代码区中,实例调用方法的时候无法自动为valuefs赋值。用valuefs的时候就会报变量未被初始化的错误。