匿名类对于我现在的理解层面在于它方便灵活了对接口以及抽象类方法的实现,如果你只需要在一个地方对某个对象实现相应的用法,那么你就可以考虑使用匿名内部类啦~。光说一定会晕的那么我们用小例子说话:
引用
下面的例子是android给按钮绑定事件的常用方法
Java代码
public class Activity1 extends Activity {
OnClickListener listener1 = null;
Button button1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity1);
listener1 = new OnClickListener() {//OnClickListener是一个接口
public void onClick(View v) {//onClick()方法是这个借口唯一的方法
Bundle bundle = new Bundle();
bundle.putString("store", "数据来自Activity1");
Intent mIntent = new Intent();
mIntent.putExtras(bundle);
setResult(RESULT_OK, mIntent);
finish();
}
};
button1 = (Button) findViewById(R.id.button3);
button1.setOnClickListener(listener1);
... ... ...(还有代码在下面~)这个就用到了内部类,原因在于当这个按钮按下时只会触动专属于它的一个事件,不会再有其他事件了,所以使用内部类就可以把实现和执行动作一并搞定!有点像javascript的匿名函数哦~
在给几个小例子:
立即学习“Java免费学习笔记(深入)”;
2013年07月06日 V1.60 升级包更新方式:admin文件夹改成你后台目录名,然后补丁包里的所有文件覆盖进去。1.[新增]后台引导页加入非IE浏览器提示,后台部分功能在非IE浏览器下可能没法使用2.[改进]淘客商品管理 首页 列表页 内容页 的下拉项加入颜色来区别不同项3.[改进]后台新增/修改淘客商品,增加淘宝字样的图标和天猫字样图标改成天猫logo图标4.[改进]为统一名称,“分类”改
Java代码
package com.eoeAndroid.activity;
interface OnClickListener{
void onClick(String s);
}
public class testListener {
public static void main(String... strings){
OnClickListener listener = new OnClickListener(){
@Override
public void onClick(String s) {
// TODO Auto-generated method stub
System.out.println(s);
}
};
listener.onClick("OK!");
}
}这个代码相当于将OnClickListener接口实现后引用,就好比如下代码:
Java代码
package com.eoeAndroid.activity;
interface OnClickListener{
void onClick(String s);
}
class MyListener implements OnClickListener{
@Override
public void onClick(String s) {
// TODO Auto-generated method stub
System.out.println(s);
}
}
public class testListener {
public static void main(String... strings){
MyListener listener = new MyListener();
listener.onClick("OK!");
}
}更多java 匿名内部类相关文章请关注PHP中文网!










