本地类的实例比它的方法寿命长的例子是什么?看到本地类/数据类型仅在该方法中可见,应该存储对本地类实例的引用的变量的数据类型应该是什么?应该在哪里使用这样的本地类(实例超过它们的方法)?
问问题
86 次
1 回答
4
一个示例是实现Runnable / Callable的本地类,然后将其发送到ExecutorService或ScheduledExecutorService例如:
public void sendMailAsync(Message msg){
class MailSendingRunnable implements Runnable(){
private MailSender mailSender;
private Message msg;
public MailSendingRunnable(Message msg, MailSender mailSender){
// ...
}
public void run(){
mailSender.send(msg);
}
}
this.executor.submit(new MailSendingRunnable(this.mailSender, msg);
}
如您所见,MailSendingRunnable 将在方法返回后继续存在,因为 MailSendingRunnable 中运行的方法稍后将在另一个线程中调用,如ExecutorService.submit(Runnable)方法所述。
于 2013-09-10T21:10:04.540 回答