package Admin;public class Neibulei {

      String name="张三";  

class neibu { public void diaoyong() {
System.out.println("我被调用了。");
 System.out.println(name);
} }}package Admin;public class Neibulei2 {
public static void main(String[] args) {
Neibulei n1=new Neibulei();
Neibulei.neibu=n1.new neibu();

}}
 //不能New出对象,不知道什么原因、。高手看看,什么原因?
 

解决方案 »

  1.   

    内部类是在类的方法内调用的。如果要在外面使用new 创建另一个类中的内部类的话,内部类就没有意义了。
      

  2.   

    package Admin;import geometry.Neibulei;public class Neibulei2 {
    public static void main(String[] args) {
    Neibulei n1=new Neibulei();
    Neibulei.neibu neibu=n1.new neibu();}} package geometry;public class Neibulei {    String name="张三"; public class neibu {public void diaoyong() {
    System.out.println("我被调用了。");
    System.out.println(name);
    }}}首先把内部类的可见性改成public ,其次声明的时候要指明变量名
      

  3.   

    包内可见,不需要将可见性改成public,只需要声明变量名即可。
      

  4.   

    package Admin; public class Neibulei {       String name="张三";  class neibu { public void diaoyong() { 
    System.out.println("我被调用了。"); 
    System.out.println(name); 
    } } } package Admin; public class Neibulei2 { 
    public static void main(String[] args) { 
    Neibulei n1=new Neibulei(); 
    Neibulei.neibu neibu=n1.new neibu(); 
    neibu.diaoyong();
    } } 
    这样就可以输出
      

  5.   


    package Admin; public class Neibulei {       String name="张三";  class neibu { public void diaoyong() { 
    System.out.println("我被调用了。"); 
    System.out.println(name); 
    } } } package Admin; public class Neibulei2 { 
    public static void main(String[] args) { 
    Neibulei n1=new Neibulei(); 
    Neibulei.neibu neibu=n1.new neibu(); 
    neibu.diaoyong();
    } } 
    这样才对
      

  6.   

    内部类调用外围局部变量 要把name 置为final