初学java 看到这个语法, new一个对象后面跟着一个大括号,里面是成员定义,请问是什么意思?
见 private ServiceConnection myServiceConn = new ServiceConnection() 这一行。 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)
{
}
};
}
javaandroid
见 private ServiceConnection myServiceConn = new ServiceConnection() 这一行。 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)
{
}
};
}
javaandroid
解决方案 »
- JTree连接Sybase
- 找不到符号
- catch如果再抛出异常那怎么办??忽然有这种想法,
- 请问在spring中有没有办法在程序中修改Bean的值,然后把修改的值保存到对应的spring配置文件中去。
- 关于JAVA和C/C++通过socket发送和接受数据的问题
- jb6卸后重装,但重装后启动时不论按那个都没反应,何解?在线即刻100分相送。
- scjp日如果是多选题,会标明有几个答案么?
- 已经考过或正在准备SCJP的兄弟看过来===>)))))))))))))))))))))))))
- 哪里能查看JDK1.8的详细源码?
- 请问以下程序为啥执行不了,报terminated
- 谁能刚给我解释一下类CopyServer中的while((line=brin.readLine())!=null)什么时候成立
- 本人新手 遇到超级棘手问题 求大神!!!!!
ServiceConnection应该是个借口吧
这中方法是通过匿名内部类的方法实现一个借口
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)
{
}这两个方法就是接口的抽象方法的实现
public void onServiceConnected(ComponentName className, IBinder service)
{
}
public void onServiceDisconnected(ComponentName className)
{
}
}
private ServiceConnection myServiceConn=new Example();也就是说匿名内部类就相当于一个继承了指定对象或实现了指定接口的类的实例。