java匿名内部类

java匿名内部类

这段时间在看android,看到了java里面的匿名内部类,在印象当中.net里面不支持匿名内部类。

匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种形式的new语句,美国空间,如下所示: new <类或接口> <类的主体> 这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,香港空间,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。如果匿名类对另一个类进行扩展,虚拟主机,它的主体可以访问类的成员、覆盖它的方法等等,这和其他任何标准的类都是一样的。如果匿名类实现了一个接口,它的主体必须实现接口的方法。

如:

pr也可以是一个类但是你外部调用的方法必须在你的这个类或接口中声明外部不能调用匿名类内部的方法

摘自:

android中点击事件

Button btn=(Button)this.findViewById(R.id.button1);

btn.setOnClickListener(new Button.OnClickListener(){

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

}

});

new 是建立一个 Button.OnClickListener对象 ,后面一个 {} 表示这个括号中的操作作用于这个默认的对名象,而上面的Java程序中后面是一个函数体。这个用法的作用是:创建一个对象的实例,并且 override 它的一个函数。它是对 OnClickListener接口的一个实现。

android多线程中

private Runnable mRunnable = new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubtry{Thread.sleep(5000);mHandler.sendMessage(mHandler.obtainMessage());}catch(InterruptedException e){}} }; public Handler mHandler = new Handler() { public void handleMessage(Message msg) { super.handleMessage(msg); Reflesh(); } };

posted on

就会犯错误,就会有无数次让自己跌倒的机会出现,

java匿名内部类

相关文章:

你感兴趣的文章:

标签云: