在Java中,匿名内部类是一种特殊的内部类,它没有显式的类名,并且通常在创建对象的同时定义。下面是几个例子,详细说明了匿名内部类的使用方法:

  1. 实现接口:
interface Greeting {
   void sayHello();
}

public class Main {
   public static void main(String[] args) {
       Greeting greeting = new Greeting() { // 创建一个实现了Greeting接口的匿名内部类对象
           @Override
           public void sayHello() {
               System.out.println("Hello!");
           }
       };
       greeting.sayHello(); // 输出 "Hello!"
   }
}

在上面的例子中,我们使用匿名内部类创建了一个实现了Greeting接口的对象,并在对象的内部重写了接口方法。

  1. 继承抽象类:
abstract class Animal {
   abstract void makeSound();
}

public class Main {
   public static void main(String[] args) {
       Animal animal = new Animal() { // 创建一个继承了Animal抽象类的匿名内部类对象
           @Override
           void makeSound() {
               System.out.println("Meow!");
           }
       };
       animal.makeSound(); // 输出 "Meow!"
   }
}

在上面的例子中,我们使用匿名内部类创建了一个继承了Animal抽象类的对象,并在对象的内部重写了抽象方法。

  1. 局部变量引用:
public class Main {
   public static void main(String[] args) {
       String message = "Hello!";
       Runnable runnable = new Runnable() { // 创建一个实现了Runnable接口的匿名内部类对象
           @Override
           public void run() {
               System.out.println(message);
           }
       };
       runnable.run(); // 输出 "Hello!"
   }
}

在上面的例子中,我们使用匿名内部类创建了一个实现了Runnable接口的对象,并在对象的内部引用了局部变量message。

通过以上例子,我们可以看到匿名内部类的使用方法,它可以用来实现接口、继承抽象类,甚至引用外部的局部变量。匿名内部类通常用于简化代码,特别是在只需要使用一次的情况下

列据多个例子详细并生动形象说明java中匿名内部类怎么使用

原文地址: https://www.cveoy.top/t/topic/ifXC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录