当前位置: 代码迷 >> Java相关 >> 接口中方法的调用,搞不懂,诚恳的请教
  详细解决方案

接口中方法的调用,搞不懂,诚恳的请教

热度:92   发布时间:2010-07-19 22:37:17.0
接口中方法的调用,搞不懂,诚恳的请教
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这三个接口,须一一实现各接口中的方法,
这样采用子类实例化父类的话,就可以实现多态!根据这几句话,就再去看那三个静态方法,及其传进去的参数.
----------------解决方案--------------------------------------------------------
  相关解决方案