String name = new String();
//这段语句可以理解成创建了String类类型变量name ,然后new出String类的对象?//还有这句
StringTokenizer one,two;
//创建了StringTokenizer类类型变量 one和 two?...one = new StringTokenizer(abc);
two = new StringTokenizer(def);
//创建了两个对象?没理解好 希望 前辈帮助答疑解惑 谢谢了
//这段语句可以理解成创建了String类类型变量name ,然后new出String类的对象?//还有这句
StringTokenizer one,two;
//创建了StringTokenizer类类型变量 one和 two?...one = new StringTokenizer(abc);
two = new StringTokenizer(def);
//创建了两个对象?没理解好 希望 前辈帮助答疑解惑 谢谢了
这里,变量只是一个引用,并不是实际存在的类。
这个变量如果是个成员变量,那么会被自动赋予null值,即空,没有对象。
这个变量如果是个局部变量,那会在没有赋值之前是会被编译器报错的。String name = new String();
这句话你的理解错了,应该是String name申明了一个引用,变量名为name
new String()产生了一个对象,
= 将新产生的对象引用赋予变量nameStringTokenizer one,two;
这句只是申明了两个引用而已。one = new StringTokenizer(abc);
two = new StringTokenizer(def);
这里才是创建两个对象赋予两个引用变量。你的理解误区极有可能是来自C/C++。如果是这样,你大可认为String s之类的申明只是申明了一个指针(当然这个指针不能进行指针运算)。这样你就好理解了。如果你没学过C/C++,那就忽略这句话,免得把你搞得更糊涂。
首先定义了一个name变量,然后执行new之后产生了一个地址和一个字符串,地址存在name里