Java类和接口是面向对象编程的基本概念,类用来描述对象的属性和行为,接口定义一组方法的规范。匿名类是一种特殊的类,它没有名字,在使用时直接定义和实例化。
Java中常见的类和接口有很多,包括基本类(如String、Integer等)、集合类(如List、Set等)、IO类(如File、InputStream等)、并发类(如Thread、Executor等)等等。
一、匿名类是在使用时直接定义和实例化的,它们的特点包括:
1. 没有类名:匿名类没有类名,只能在使用时定义和实例化。
2. 继承或实现父类/接口:匿名类必须继承某个父类或实现某个接口,可以直接在定义时完成。
3. 只能使用一次:匿名类只能使用一次,无法再次实例化。
二、使用匿名类的方法有两种,一种是通过继承父类,另一种是通过实现接口。例如:
1. 继承父类:
public class Main {public static void main(String[] args) {// 使用匿名类继承父类Person person = new Person() {public void sayHello() {System.out.println("Hello");}};person.sayHello();}}class Person {public void sayHello() {System.out.println("Hi");}}
输出结果为:
Hello
在上面的例子中,使用匿名类继承了Person类,并重写了sayHello()方法,实现了不同的功能。
2. 实现接口:
public class Main {public static void main(String[] args) {// 使用匿名类实现接口Animal animal = new Animal() {public void run() {System.out.println("Running");}};animal.run();}}interface Animal {void run();}
输出结果为:
Running
在这个例子中,使用匿名类实现了Animal接口,并实现了run()方法。
与其他方式相比,匿名类的优点是省去了编写独立类的过程,适合于一些简单的功能实现。但它的缺点是可读性较差,代码难以维护。
在高级应用中,匿名类可以用于实现回调函数、事件处理等功能。
(文章为作者在学习java过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)