• JAVA-匿名内部类


    匿名内部类

    1.定义:

      实现一个接口,或者继承一个父类,并返回new好的实例。

    2. 语法:

       new 类名或者接口名 类的实现体

    3.什么情况下使用匿名内部类:

      类在创建后马上被使用,且只使用一次

    4.注意点:

      ·匿名内部类不能有构造方法
      ·匿名内部类不能定义任何静态成员、静态方法。
      ·匿名内部类不能是public,protected,private,static。
      ·只能创建匿名内部类的一个实例。
      ·一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类。
     
    5.举栗子
     
       通过继承的方式实现匿名内部类:
     1 package com.han6.java;
     2 
     3 public class Fruit 
     4 {
     5     public void saySomething()
     6     {
     7         System.out.println("I am Fruit!");
     8     }
     9     
    10     public static void main(String[] args) 
    11     {
    12         Fruit fruit = new Fruit()
    13         {
    14             @Override
    15             public void saySomething() {
    16                 System.out.println("I am Apple!");
    17             }
    18             
    19         };
    20         fruit.saySomething();
    21     }
    22 
    23 }
      通过实现接口的方式来使用匿名内部类:
     1 package com.han6.java;
     2 
     3 public class Demo
     4 {
     5     public static void main(String[] args)
     6     {
     7         Person person  = new Person()
     8         {
     9             @Override
    10             public void eat()
    11             {
    12                 System.out.println("a person like to eat fruit!");
    13             }
    14         };
    15         person.eat();
    16     }
    17     
    18 }
    19 
    20 interface Person 
    21 {
    22     void eat();
    23 }

    6.工作使用:

      匿名内部类是用在具体的某个实例上的=修改了这个实例所属类的某些属性方法,所修改的内容也只对这个实例有效相当于一个一次性的类。主要用在某个特殊事件的处理上。

  • 相关阅读:
    5-最长回文子串
    String、StringBuffer和StringBuilder的区别(转载)
    LeetCode31题,下一个排列
    BindingResult
    @Validated 和 @Valid
    springboot Filter Interceptor
    @ReponseStatus
    ResponseEntity
    springboot 异常处理机制源码分析
    @RequestMapping的produces作用
  • 原文地址:https://www.cnblogs.com/han6/p/6765350.html
Copyright © 2020-2023  润新知