匿名内部类

简介: 匿名内部类

匿名内部类也就是没有名字的内部类,通常用来简化代码,而使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口。


下面给出例子:

实例1:不使用匿名内部类来实现接口

interface Person{
    public void run();
}
public class Child implements Child {
    @Override
    public void run() {
       System.out.println("实现接口"); 
    }
}
public class Test {
    public static void main(String[] args) {
  Person person=new Child(){}
  person.eat();
}
}
//运行结果:实现接口


可以看到,我们用Child实现了Person接口的run方法,在Test类中创建实例,调用方法。

但是,如果此处的Child类只使用一次,那么将其编写为独立的一个类岂不是很麻烦?

所以就有了匿名内部类:

interface Child{
    public void eat();
}
public class Test {
    public static void main(String[] args) 
        Child c = new Child() {
            @Override
            public void eat() {
                System.out.println("接口实现匿名内部类");
            }
        };
        c.eat();
    }
}
//运行结果:接口实现匿名内部类


抽象类也是如此:

abstract class Person {
    public  abstract void eat();
}
public class Test {
    public static void main(String[] args) {
        Person p = new Person() {
            public void eat() {
                System.out.println("抽象类实现匿名内部类");
            }
        };
        p.eat()
}
//运行结果:抽象类实现匿名内部类
相关文章
|
3月前
|
Java
成员内部类 | 静态内部类 | 局部内部类 | 匿名内部类
这篇文章详细介绍了Java中的四种内部类:成员内部类、静态内部类、局部内部类和匿名内部类,包括它们的使用场景、特点和示例代码。
成员内部类 | 静态内部类 | 局部内部类 | 匿名内部类
|
6月前
|
Java
Java内部类(成员内部类、静态内部类、局部内部类、局部内部类)
Java内部类(成员内部类、静态内部类、局部内部类、局部内部类)
41 3
|
5月前
|
Java
【Java基础】 内部类 (成员内部类、局部内部类、静态内部类、匿名内部类)
Java内部类 (成员内部类、局部内部类、静态内部类、匿名内部类)
33 0
|
Java
内部类(下)匿名内部类,静态内部类的使用
内部类(下)匿名内部类,静态内部类的使用
77 0
|
6月前
|
Java
匿名内部类&Lambda表达式&函数式接口
匿名内部类&Lambda表达式&函数式接口
30 0
内部类的概念与分类(成员内部类,局部内部类,匿名内部类)
内部类,就是一个类内部包含另一个类,即一个事物的内部包含着另一个事物。例如:身体和心脏 、汽车与发动机之间的关系。 可以看见在out下的内部类文件命名规则是 外部类$内部类.class类名称 对象名 = new 类名称();外部类名称.内部类名称 对象名 = new 外部类名称().new 外部类名称(); 把这条公式插入到demo07InnerClass 中 使用heart.调用内部类方法 如果一个类是定义在一个方法内部的,那么这是一个局部内
39 2
|
12月前
|
Java
成员内部类、静态内部类、局部内部类、匿名内部类的精髓与应用
成员内部类、静态内部类、局部内部类、匿名内部类的精髓与应用
|
Java
3.4 内部类的类型:匿名内部类
3.4 内部类的类型:匿名内部类
64 0
|
Java 编译器 Android开发
面向对象构造方法、抽象类、内部类
面向对象构造方法、抽象类、内部类
|
Java
java中的四种内部类详解(成员类内部类,静态内部类,局部内部类,匿名内部类)
java中的四种内部类详解(成员类内部类,静态内部类,局部内部类,匿名内部类)
141 0