java的四种内部类

内部类

  • 内部内就是在一个类的内部再定义一个类,比如,A类中定义一个B类,那么B类相对于A类来说就称为内部类,而A类相对B类来说就是外部类了。

  • 1.成员内部类

    通过内部类可以获得外部类的私有属性。

    public class Outer {

       private int id=107;
       public void out(){
           System.out.println("这个数外部类的方法");
      }

       class Inner{
           public void in(){
               System.out.println("这是内部类的方法");
          }
            public void getID(){
               System.out.println(id);
          }
      }

    }
    public class Apply {
       public static void main(String[] args) {
         Outer outer = new Outer();
           Outer.Inner inner = outer.new Inner();
           inner.in();
           inner.getID();

      }
    }

    以上可以通过实例化对inner对象进行操作,输出id

 

 

 

  • 2.静态内部类

    public class Outer {

       private int id=107;
       public void out(){
           System.out.println("这个数外部类的方法");
      }
    //static 的静态内部类会率先初始化。
       
       public static class Inner{
           public void in(){
               System.out.println("这是内部类的方法");
          }

      }

    }
  • 3.局部内部类

    public class Outer {

       //局部内部类
      public void method(){
          class Inner{
              public void in(){
                 
              }
          }
      }
    }
  • 4.匿名内部类

 

public class test {
   public static void main(String[] args) {
       //没有名字的初始化类,不用将实例保存到变量中。
       new Apple().eat();
       UserService userService = new UserService() {
           @Override
           public void hello() {
          }
      };
  }

}
class Apple{
   public void eat(){
       System.out.println("eat appler");
  }
}

interface UserService{
   void hello();
}
posted @ 2020-10-29 16:48  Strive_ToLife  阅读(81)  评论(0编辑  收藏  举报