作者gn00430231 (fluteroll)
看板AndroidDev
标题[问题] 一个语法的问题
时间Tue Sep 8 15:24:26 2015
大家好,小弟在做app时想用timer,找到了以下用法
//宣告
private Handler handler = new Handler();
Runnable myRunnable=new Runnable() {
@Override
public void run() {
// call you delay logic or method here
}
};
//使用
handler.postDelayed(myRunnable, 1000);
因为实在不知道这问题要下什麽关键字找答案,所以po文寻求解答
我想了解 Runnable myRunnable=new Runnable(){}; 此段的语法是什麽意思
new 一个实体,但又用 {}; 在里面作 override
是继承的简略写法吗? 还是一种特殊的继承?
又这个写法是 java 所有的还是 android 独有的语法OC呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.146.86.37
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1441697068.A.89C.html
1F:→ corrupt003: anonymous class 09/08 15:56
2F:→ mshockwave: 楼上正解,有时候颇好用 09/08 18:16
3F:推 LPH66: Runnable 是个 interface, 这个写法是宣告一个无名 class 09/08 20:16
4F:→ LPH66: 实作这个 interface 并在 {} 里实作它 09/08 20:17
5F:→ LPH66: 这个无名 class 只在这一行看得到用得到 09/08 20:18
6F:→ LPH66: 後续的处理都是由宣告出来的参考经过多型去使用它 09/08 20:18
7F:→ LPH66: 这个写法不是 interface 专用, 一般 class 也可以这样用 09/08 20:19
8F:→ LPH66: 这样就变成这个无名 class 继承写上的那个 class 再覆载 09/08 20:20
我懂了,讲得很清楚,感谢你们的详解~
※ 编辑: gn00430231 (36.231.150.197), 09/08/2015 21:19:44
※ 编辑: gn00430231 (36.231.150.197), 09/08/2015 21:20:13