内部类

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

1.成员内部类

2.静态内部类

3.局部内部类

4.匿名内部类

5.lambaba

package com.ninglei3;

public class Demo44 {
  public static void main(String[] args) {
      //new
      Outer outer = new Outer();

      //通过这个外部类来实例化内部类
      Outer.Inner inner = outer.new Inner();
      inner.in();
      inner.getID();


  }
}
package com.ninglei3;

public class Outer {

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

  class Inner{
      public void in (){
          System.out.println("这是内部类的方法");
      }
      //获得外部类的私有属性
      public void getID(){
          System.out.println(id);

      }
  }
  //局部内部类
  public void method(){
      class inneer{
          public void in(){

          }
      }
  }

}

//一个java类中可以有多个class类,但是只能有一个public class类
class A{
  public static void main(String[] args) {

  }

}
package com.ninglei3;

import javafx.application.Application;

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("吃苹果");
  }
}

interface UserService{

  void hello();
      }