在Java中,匿名内部类(Anonymous Inner Class)是一种没有显式地定义类名的内部类。它允许你在不创建单独类的情况下,创建一个新的类实例,并且这个类通常只使用一次。匿名内部类在Java中有以下几个应用场景:
new Thread(new Runnable() {
@Override
public void run() {
// 你的代码
}
}).start();
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 处理按钮点击事件
}
});
downloader.download(url, new Callback() {
@Override
public void onSuccess(String result) {
// 处理下载成功的结果
}
@Override
public void onFailure(Exception e) {
// 处理下载失败的结果
}
});
Comparator<String> stringLengthComparator = new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return Integer.compare(s1.length(), s2.length());
}
};
Collections.sort(strings, stringLengthComparator);
总之,匿名内部类在Java中提供了一种简洁的方式来创建单次使用的类实例,尤其适用于实现接口、扩展类、创建事件监听器和回调函数等场景。