String my = "xxx";就相当于 String my = new String("xxx");

解决方案 »

  1.   

    谁说是正确的?String my;定义一个对象实例后,使用my.subString(),
    String my had not been initialized.
    类必须实例化才可使用的,AudioClip与String都是一样。
      

  2.   

    只定义String my; 之后就用 my.subString() 就可以吗?反之定义AudioClip my; 而使用 my.play();就会出错吗?答案是: 错!  这要视情况而定,这取决于你在那里声明这个变量。
    如果你定义的变量是类的成员变量,这两种做法都是成功的,因为类的成员变量如果你不去显式初始化的话,编译器会将非主类型(int, long, etc..)的对象全都初始化成null,而你去使用这些方法时编译部分不会报错,但要是不真正初始化过,运行期一定会出异常的。
    但如果这两个声明是在类的方法内部则都会出错!因这这时编译器是不会为你作这种缺省初始化的!也一定会象楼上tanxing所说,编译器就会报错的。
      

  3.   

    luodi(无知者无畏)确有水平,能否劳驾看一看我的问题:专用JDBC驱动程序如何使用?谢了