通常我按如下方式实现我的Runnables(直接实现内部类):
Runnable updateRunnable = new Runnable() {
public void run() {
}
}
Run Code Online (Sandbox Code Playgroud)
Java中是否有任何工作方式通过在构造函数中传递任何参数来实现Class,如下所示?
Runnable updateRunnable = new Runnable(locale) {
Locale locale = null;
public Runnable(Locale locale){
this.locale = locale
}
public void run() {
}
};
Run Code Online (Sandbox Code Playgroud)
==>我的目标是直接实现内部类,但我想传入一个参数.
什么是做到这一点的最佳解决方案(上面的示例似乎不起作用????)是唯一可能使用getter setter或者将类实现为"普通"内部类(不是直接实现的).
非常感谢你!一月
你可以做类似的事情:
final Locale locale;
Runnable r = new Runnable() {
public void run() {
// have direct access to variable 'locale'
}
};
Run Code Online (Sandbox Code Playgroud)
需要注意的重要一点是,Locale你传入的必须是final为了能够做到这一点.
你必须以locale某种方式初始化以便编译.
| 归档时间: |
|
| 查看次数: |
3292 次 |
| 最近记录: |