java中,如果一个方法A的参数是一个接口,那在主方法中怎么调用这个方法?
publicclassbb{publicvoidshow(Bsursur){sur.sub();}publicstaticvoidmain(Stringargs[]){/...
public class bb {
public void show(Bsur sur)
{
sur.sub();
}
public static void main(String args[]){
//怎么调用show()方法
//为什么语句:bb x = new bb();x.show();会报错?
}
} 展开
public void show(Bsur sur)
{
sur.sub();
}
public static void main(String args[]){
//怎么调用show()方法
//为什么语句:bb x = new bb();x.show();会报错?
}
} 展开
展开全部
你需要创建一个类,实现 Bsur 接口,然后创建这个类的一个实例,传给 show 方法,例如:
class AA implements Bsur {
// 实现 Bsur 接口的 sub 方法
public void sub () {
System.out.println("我是 sub 方法。");
}
}
创建 AA 实例,传给 show 方法。
AA aa = new AA();
x.show(aa);
追问
那如果这个Bsur接口是继承另外两个接口做出来的,没有用类创建它,那show()的参数要怎么写?还是说,不管接口是不是继承别的接口产生的,都需要用类来实现?
追答
必须要有一个类实现 Bsur ,匿名类也可以的,不然这个接口就没有任何作用。使用匿名类如下:
x.show(new Bsur() {
@Override
public void sub() {
System.out.println("我是 sub 方法。");
}
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询