1.问题在于这句:
       wo abc = new wo();
  如果将wo类声明为static class wo,就可以运行成功了。这等价于:
      welcome.wo abc = new welcome.wo();  如果你不如此声明,那么wo类和外面的类(enclosing class)之间存在一种关系。如果你打算创建一个wo类的实例,你得先拥有一个welcome类的实例。像这样:
   welcome w = new welcome();
   wo abc = w.new wo();//怪异的语法,but works!!

解决方案 »

  1.   

    I see,明白了,有些像inner class................您说得对,先得到外层
    那麽关于第2个问题呢?我想知道当test类被创建出来以后,使用get方法,return出的是一个可直接使用的实例,还是只是一个引用(也就是说要new一下)。
      

  2.   

    1.第一个问题,是因为一个文件里只能有一个public的类,并且这个类一定要与文件名相同.
    2.你现在的写法.abc只是一个引用,它的地址在栈中,它可以用类中任何的东西,
      

  3.   

    只是引用,是不是说还需要new?
      

  4.   

    对于第2个问题,虽然你可以通过get()返回一个abc的一个实例,但是因为你并没有在返回前对这个实例进行初始化,你返回的实例handle为null
      

  5.   

    也就是说返回出的abc类是无意义的(null),还是要经过初始化(处理)?