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.工作使用:

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

原文地址:https://www.cnblogs.com/han6/p/6765350.html