黑马程序员技术交流社区

标题: 局部内部类的功能外部类不是可以通过创建对象访问吗?? [打印本页]

作者: a546036242    时间: 2015-7-25 22:34
标题: 局部内部类的功能外部类不是可以通过创建对象访问吗??
本帖最后由 a546036242 于 2015-7-25 22:39 编辑

interface inte
{
public abstract void show();


}


class NoName
{
  
private String name="朝";
private int age=60;


        public void method(){
   //外部内要访问成员内部类的的方法 通过创建对象访问
      NeiBu s=new NeiBu();
      s.show2();
   
        
         Jubu ss=new Jubu();
          ss.show3();
        
        //局部内部类
     class Jubu
     {
     public void show3(){
         
         System.out.println("局部"+name);
         System.out.println("局部"+age);
         }
     
   
   }
    //匿名内部类 本质就是该类的一个子类对象 或者该接口的一个实现类对象
  //既然是对象 就可以调用方法
   
   new inte(){
  
      public  void show(){
        
          System.out.println("show");
          }
  
      }.show();
   }

  //这时一个成员内部类
  //成员内部类可以直接访问外部类的成员包括私有 其实成员内部类就是外部类的一个成员
  //外部类要访问内部类的成员 创建对象就可以访问
static  class  NeiBu
  {
   
        public static void show2(){
   
    System.out.println("朝哥");
   
   // System.out.println(name);
   // System.out.println(age);
   
   
   }


}
   


}


class NoNameTest
{
        public static void main(String[] args)
        {
               
        NoName s=new NoName();
        s.method();
           //成员内部类非静态修饰的访问格式
        //NoName.NeiBu s2=new NoName().new NeiBu();
        //s2.show2();
    System.out.println("--------------------");
    //成员内部类静态修饰的访问格式
     
        NoName.NeiBu s3=new NoName.NeiBu();
        s3.show2();
        System.out.println("--------------------");
        
        //成员了内部类的静态方法调用方式
    NoName.NeiBu.show2();
        
        }
}
                                   
---------- javac ----------
NoNameTest.java:22: 错误: 找不到符号
         Jubu ss=new Jubu();
         ^
  符号:   类 Jubu
  位置: 类 NoName
NoNameTest.java:22: 错误: 找不到符号
         Jubu ss=new Jubu();
                     ^
  符号:   类 Jubu
  位置: 类 NoName
2 个错误

为什么我这样会报错?求大神解决!~~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2