Java 传递参数-接口实现与实现接口的具体类的对象
考虑到OnCompleteListener是一个接口,OnCompleteListeneImpl是一个具体的类,如下所示 ####OnCompleteListener接口#####Java 传递参数-接口实现与实现接口的具体类的对象,java,Java,考虑到OnCompleteListener是一个接口,OnCompleteListeneImpl是一个具体的类,如下所示 ####OnCompleteListener接口##### public interface OnCompleteListener { public void onComplete(); } class OnCompleteListenerImpl implements OnCompleteListener { public void onComplet
public interface OnCompleteListener {
public void onComplete();
}
class OnCompleteListenerImpl implements OnCompleteListener {
public void onComplete() {
System.out.println("Yeah, the long running task has been completed!");
}
}
longRunningTask.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete() {
System.out.println("Yeah, the long running task has been completed!");
}
}
);
OnCompleteListenerImpl obj = new OnCompleteListenerImpl();
longRunningTask.setOnCompleteListener(obj);
#####OnCompleteListenerImpl####
public interface OnCompleteListener {
public void onComplete();
}
class OnCompleteListenerImpl implements OnCompleteListener {
public void onComplete() {
System.out.println("Yeah, the long running task has been completed!");
}
}
longRunningTask.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete() {
System.out.println("Yeah, the long running task has been completed!");
}
}
);
OnCompleteListenerImpl obj = new OnCompleteListenerImpl();
longRunningTask.setOnCompleteListener(obj);
这是怎么回事
#####片段A####
public interface OnCompleteListener {
public void onComplete();
}
class OnCompleteListenerImpl implements OnCompleteListener {
public void onComplete() {
System.out.println("Yeah, the long running task has been completed!");
}
}
longRunningTask.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete() {
System.out.println("Yeah, the long running task has been completed!");
}
}
);
OnCompleteListenerImpl obj = new OnCompleteListenerImpl();
longRunningTask.setOnCompleteListener(obj);
不同于
#####片段B#####
public interface OnCompleteListener {
public void onComplete();
}
class OnCompleteListenerImpl implements OnCompleteListener {
public void onComplete() {
System.out.println("Yeah, the long running task has been completed!");
}
}
longRunningTask.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete() {
System.out.println("Yeah, the long running task has been completed!");
}
}
);
OnCompleteListenerImpl obj = new OnCompleteListenerImpl();
longRunningTask.setOnCompleteListener(obj);
这两种方法都很相似,但它们之间有很大的区别 可用性
public interface OnCompleteListener {
public void onComplete();
}
class OnCompleteListenerImpl implements OnCompleteListener {
public void onComplete() {
System.out.println("Yeah, the long running task has been completed!");
}
}
longRunningTask.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete() {
System.out.println("Yeah, the long running task has been completed!");
}
}
);
OnCompleteListenerImpl obj = new OnCompleteListenerImpl();
longRunningTask.setOnCompleteListener(obj);
总之,这两种方法都有不同的用例,您需要遵循哪种方法。对于干净的代码和可重用性,我们使用实现类,但对于安全和单实例使用,您可以使用匿名类方法。这是相同的。如果您多次使用它,请选择OnCompleteListenerImpl解决方案。大致相同,尽管
Snippet A
正在创建一个匿名类,而不是命名类。。。。你可能想看看和