Java匿名类

JAVA匿名类

介绍

在Java中,匿名类是一种没有名字的类,它可以用来创建一个实例并重写类或接口的方法。使用匿名类可以更方便地编写简单的代码,而不必创建一个单独的类来实现相同的功能。

语法

使用匿名类可以有以下两种语法:

  1. 作为类的子类:

className obj = new className()
{
    // 方法重写...
};
  1. 实现接口:

interfaceName obj = new interfaceName()
{
    // 方法实现...
};

示例

下面是一些使用匿名类的示例,帮助你更好地理解它的用法。

作为类的子类

在这个示例中,我们创建了一个抽象类Animal和它的子类Dog。然后,我们使用匿名类作为Animal的子类,重写了它的eat()方法,并实例化了该匿名类。


abstract class Animal {
    public abstract void eat();
}

class Dog extends Animal {
    public void eat() {
        System.out.println("狗吃骨头");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal = new Dog(){
            public void eat() {
                System.out.println("狗吃肉");
            }
        };
        animal.eat(); // 输出:狗吃肉
    }
}

实现接口

在这个示例中,我们创建了一个接口Greeting,其中包含一个greet()方法。然后,我们使用匿名类实现了该接口的方法,并实例化了该匿名类。


interface Greeting {
    void greet();
}

public class Main {
    public static void main(String[] args) {
        Greeting greeting = new Greeting() {
            public void greet() {
                System.out.println("Hello, world!");
            }
        };
        greeting.greet(); // 输出:Hello, world!
    }
}

总结

匿名类是一种没有名字的类,可以用来创建一个实例并重写类或接口的方法。使用匿名类可以更方便地编写简单的代码,而不必创建一个单独的类来实现相同的功能。在实际编程中,你可以根据具体的需求使用匿名类来简化代码的编写。

© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏 分享