trytest t2 = new test();
Input t= t2.new Input();
System.out.println(t.getTheChar());orInput t3= new test().new Input();

解决方案 »

  1.   

    or make the Input class static:static class Input{
    //....
    }Input t=new Input();
    System.out.println(t.getTheChar());
      

  2.   

    学到了点东东, saucer(思归, MS .NET MVP) ,牛的说~~
      

  3.   

    谢谢大家的帮助,但是我的问题不是在这个例子上,而是以这个例子做了一下比方,我想问的是:类中类只能被同文件的公共类访问和引用,但是把它实例化后不能放到main()中,为什么?而main方法可以放到任何一个类中啊!谢谢!
      

  4.   

    不只是不能放到main()中,而是不能放到所有的static方法中!对于嵌套类,你可以将它理解为一般的成员变量,哪有在static方法(即类方法)中调用成员变量(注意不是类变量)的用法?这样想也许你就会理解了!
      

  5.   

    谢谢各位的帮助,现在小弟我已经懂了,特别感谢huidaoren(huidaoren)!真的很感谢!
      

  6.   

    main方法可以认为是外部的访问程序,你想想,input是属于test的内部类,test还没创建,怎么能创建input的实例呢。input实例化的前提test被实例化。
      你把input想象成一个其它的任何一个java对象,就不难理解啦。