匿名内部类

匿名内部类

  • 没有类名的局部的内部类(一切特征都与局部内部类相同)

  • 必须实现一个父类或者一个接口

  • 定义类,实现类,创建对象的语法合并,只能创建一个该类的对象

  • 优点:减少代码量

  • 缺点:可读性差

package AnonymousInternalclass;

public class TeteUSB {
  public static void main(String[] args) {

//       //创建接口类型的变量
//       USB usb = new Mouse();
//       usb.service();
      //局部内部类
//       class Fan implements USB{
//           @Override
//           public void service() {
//               System.out.println("风扇开始工作");
//
//           }
//       }
      //使用局部内部类创建对象
//       Fan fan = new Fan();
//       fan.service();
      //使用匿名内部类进行优化

      USB usb = new USB(){

          @Override
            public void service() {
              System.out.println("风扇开始工作");

          }
      };
      usb.service();


  }
}
package AnonymousInternalclass;

public interface USB {
  void service();
}
package AnonymousInternalclass;

public class Mouse implements USB {
  @Override
  public void service() {
      System.out.println("连接电脑成功,鼠标开始工作了...");
  }
}
posted @ 2021-08-02 19:32  πππ·  阅读(50)  评论(0)    收藏  举报