Java笔记(7) 内部类

Java内部类有4种类型:

  1. 成员内部类
  2. 静态内部类
  3. 局部内部类
  4. 匿名内部类
//外部类
public class Outer{
  private int id = 1001;
  private void out(){
    System.out.println("This is outer class");
  }
/////////////////////////////////////////////////////
  //1.成员内部类,需要声明为class才能被实例化
  public class Inner{
    //内部类可以访问外部类的私有方法
    public void in(){
      System.out.println("This is inner class");
      out();
    }
    //可以访问外部类的私有属性
    public void getId(){
      System.out.println("Outer.id is: " + id);
    }
  }
/////////////////////////////////////////////////////
    //2. 静态内部类
    public static class Inner2{
    }
/////////////////////////////////////////////////////
    //3. 局部内部类
    public void method(){
      class Inner3{
        public void in(){
          System.out.println("Local inner class!");
        }
      }
    }
    //4. 匿名内部类
    public void method2(){
    //在创建时不命名,这个方法实际会返回一个User类型的对象
    //User user = new User{
    new User{
        public void run(){System.out.println("Anonymous inner class!")}
      };
    }
}

interface User{
  void run();
}

posted @ 2023-04-04 15:22  hiibird  阅读(27)  评论(0)    收藏  举报