匿名内部类

匿名内部类

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

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

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

  • 优点:减少代码量

  • 缺点:可读性差

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("连接电脑成功,鼠标开始工作了...");
  }
}

匿名内部类

上一篇:C和C#两种方式实现邮件的简单接收


下一篇:print输出函数和range()函数