62,621
社区成员
发帖
与我相关
我的任务
分享
import android.content.ServiceConnection;
public class MyListActivity extends ListActivity
{
// some other code ..
// ...
private ServiceConnection myServiceConn = new ServiceConnection()
{
public void onServiceConnected(ComponentName className, IBinder service)
{
}
public void onServiceDisconnected(ComponentName className)
{
}
};
}
class Example extends serviceConnection(){
public void onServiceConnected(ComponentName className, IBinder service)
{
}
public void onServiceDisconnected(ComponentName className)
{
}
}
private ServiceConnection myServiceConn=new Example();
也就是说匿名内部类就相当于一个继承了指定对象或实现了指定接口的类的实例。
import android.content.ServiceConnection;
public class MyListActivity extends ListActivity
{
// some other code ..
// ...
private ServiceConnection myServiceConn = new ServiceConnection()
{
public void onServiceConnected(ComponentName className, IBinder service)
{
}
public void onServiceDisconnected(ComponentName className)
{
}
};
}
是一个匿名内部类
匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种形式的new语句,如下所示: new <类或接口> <类的主体> 这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。如果匿名类对另一个类进行扩展,它的主体可以访问类的成员、覆盖它的方法等等,这和其他任何标准的类都是一样的。如果匿名类实现了一个接口,它的主体必须实现接口的方法。
new ServiceConnection()就是实现接口
public void onServiceConnected(ComponentName className, IBinder service)
{
}
public void onServiceDisconnected(ComponentName className)
{
}
这两个方法就是接口的抽象方法的实现class Example extends serviceConnection(){
public void onServiceConnected(ComponentName className, IBinder service)
{
}
public void onServiceDisconnected(ComponentName className)
{
}
}
private ServiceConnection myServiceConn=new Example();
也就是说匿名内部类就相当于一个继承了指定对象或实现了指定接口的类的实例。
靠
万恶的拼音输入法
接口
ServiceConnection应该是个借口吧
这中方法是通过匿名内部类的方法实现一个借口