匿名内部类还是比较常见的
它通常用来简化代码编写
但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口
实例1:不使用匿名内部类来实现抽象方法- abstract class Person {
- public abstract void eat();
- }
-
- class Child extends Person {
- public void eat() {
- System.out.println("eat something");
- }
- }
-
- public class Demo {
- public static void main(String[] args) {
- Person p = new Child();
- p.eat();
- }
- }
复制代码
实例2:在接口上使用匿名内部类
- interface Person {
- public void eat();
- }
-
- public class Demo {
- public static void main(String[] args) {
- Person p = new Person() {
- public void eat() {
- System.out.println("eat something");
- }
- };
- p.eat();
- }
- }
复制代码
明显用起来简化了不少呀 |