匿名内部类
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.工作使用:
匿名内部类是用在具体的某个实例上的=修改了这个实例所属类的某些属性方法,所修改的内容也只对这个实例有效相当于一个一次性的类。主要用在某个特殊事件的处理上。
时间: 2024-10-23 22:39:24