如何使用匿名内部类
问题描述:如何使用匿名内部类
推荐答案 本回答由问问达人推荐
使用匿名内部类可以在不定义具体类的情况下,直接创建一个实现了某个接口或继承了某个类的对象,并且重写了其中的方法。通常情况下,匿名内部类用于创建一些轻量级的对象,比如事件监听器、线程等。
下面是使用匿名内部类的示例:
1. 实现接口的匿名内部类
MyInterface myObj = new MyInterface() {
public void doSomething() {
System.out.println("Hello World");
}
};
myObj.doSomething();
2. 继承父类的匿名内部类
MySuperClass myObj = new MySuperClass() {
public void doSomething() {
System.out.println("Sub class doSomething");
}
};
myObj.doSomething();
3. 继承抽象类的匿名内部类
MyAbstractClass myObj = new MyAbstractClass() {
public void doSomething() {
System.out.println("Hello World");
}
};
myObj.doSomething();
4. 构造器中的匿名内部类
Thread thread = new Thread(new Runnable() {
public void run() {
System.out.println("Thread is running");
}
});
thread.start();
在上述示例中,使用了不同类型的匿名内部类来创建对象,这些对象都是在声明时被创建,而不需要显式地定义一个新的类或命名一个新的类。
查看其它两个剩余回答