Java 匿名内部类:详细实例与应用场景 - 简化代码的利器
在Java中,匿名内部类是一种特殊的内部类,它没有显式的类名,并且通常在创建对象的同时定义。下面是几个例子,详细说明了匿名内部类的使用方法:\n\n1. 实现接口:\njava\ninterface Greeting {\n void sayHello();\n}\n\npublic class Main {\n public static void main(String[] args) {\n Greeting greeting = new Greeting() { // 创建一个实现了Greeting接口的匿名内部类对象\n @Override\n public void sayHello() {\n System.out.println("Hello!");\n }\n };\n greeting.sayHello(); // 输出 "Hello!"\n }\n}\n\n在上面的例子中,我们使用匿名内部类创建了一个实现了Greeting接口的对象,并在对象的内部重写了接口方法。\n\n2. 继承抽象类:\njava\nabstract class Animal {\n abstract void makeSound();\n}\n\npublic class Main {\n public static void main(String[] args) {\n Animal animal = new Animal() { // 创建一个继承了Animal抽象类的匿名内部类对象\n @Override\n void makeSound() {\n System.out.println("Meow!");\n }\n };\n animal.makeSound(); // 输出 "Meow!"\n }\n}\n\n在上面的例子中,我们使用匿名内部类创建了一个继承了Animal抽象类的对象,并在对象的内部重写了抽象方法。\n\n3. 局部变量引用:\njava\npublic class Main {\n public static void main(String[] args) {\n String message = "Hello!";\n Runnable runnable = new Runnable() { // 创建一个实现了Runnable接口的匿名内部类对象\n @Override\n public void run() {\n System.out.println(message);\n }\n };\n runnable.run(); // 输出 "Hello!"\n }\n}\n\n在上面的例子中,我们使用匿名内部类创建了一个实现了Runnable接口的对象,并在对象的内部引用了局部变量message。\n\n通过以上例子,我们可以看到匿名内部类的使用方法,它可以用来实现接口、继承抽象类,甚至引用外部的局部变量。匿名内部类通常用于简化代码,特别是在只需要使用一次的情况下。
原文地址: http://www.cveoy.top/t/topic/pYl4 著作权归作者所有。请勿转载和采集!