String name = new String();
//这段语句可以理解成创建了String类类型变量name ,然后new出String类的对象?//还有这句
StringTokenizer one,two;
//创建了StringTokenizer类类型变量 one和 two?...one = new StringTokenizer(abc);
two = new StringTokenizer(def);
//创建了两个对象?没理解好  希望 前辈帮助答疑解惑 谢谢了

解决方案 »

  1.   

    类 变量 -》这样只是一个申明,申明某个变量可以引用某个类及其子类的对象。
    这里,变量只是一个引用,并不是实际存在的类。
    这个变量如果是个成员变量,那么会被自动赋予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++,那就忽略这句话,免得把你搞得更糊涂。
      

  2.   

    第一个应该是new一个对象吧,name是一个指向堆内存的引用,第二句只是引用,没有指向堆内存。
      

  3.   

    String name = new String();
    首先定义了一个name变量,然后执行new之后产生了一个地址和一个字符串,地址存在name里