接口中方法的调用,搞不懂,诚恳的请教
interface CallBack{void callMethod();
}
interface CallBack1{
void callMethod1();
}
interface CallBack2{
void callMethod2();
}
class Client implements CallBack,CallBack1,CallBack2{
public void callMethod(){
System.out.println("hello");
}
public void callMethod1(){
System.out.println("hello1");
}
public void callMethod2(){
System.out.println("hello2");
}
}
public class huxiang{
public static void callMethod(CallBack someone){//这个叫不叫方法的重写啊,怎么感觉是多余的呢
someone.callMethod(); //把这三个静态方法去掉看上去没什么问题啊,怎么却不
} //能运行啊?请教了
public static void callMethod1(CallBack1 someone){
someone.callMethod1();
}
public static void callMethod2(CallBack2 someone){
someone.callMethod2();
}
public static void main(String args[]){
Client a=new Client();
callMethod(a);
callMethod1(a);
callMethod2(a);
}
}
搜索更多相关的解决方案:
接口
----------------解决方案--------------------------------------------------------
确实什么问题也没有,可以运行,是一个回调的例子,哈哈.我已经运行了,没问题.
----------------解决方案--------------------------------------------------------
这三个静态方法不是重写,它们可以不用创建对象就能在主方法中调用。
----------------解决方案--------------------------------------------------------
回复 2楼 baifenghan
那能不能帮我把去掉这三个方法的写法告诉我啊,这三个方法放在这怪别扭的,难懂 ----------------解决方案--------------------------------------------------------
以下是引用huxiangwenhu在2010-7-21 22:20:44的发言:
那能不能帮我把去掉这三个方法的写法告诉我啊,这三个方法放在这怪别扭的,难懂
那能不能帮我把去掉这三个方法的写法告诉我啊,这三个方法放在这怪别扭的,难懂
你可以放下这下面:callMethod2(a);
}
前提是:必须放至那个类中,不然无法直接访问.
----------------解决方案--------------------------------------------------------
interface CallBack{ //接口CallBack
void callMethod();//定义了callMethod()方法,须注意的是接口中的方法不可有方法体.
}
interface CallBack1{
void callMethod1();
}
interface CallBack2{
void callMethod2();
}
class Client implements CallBack,CallBack1,CallBack2{//实现了CallBack,CallBack1,CallBack2这三个接口,须一一实现各接口中的方法,
这样采用子类实例化父类的话,就可以实现多态!根据这几句话,就再去看那三个静态方法,及其传进去的参数.
----------------解决方案--------------------------------------------------------