就像OnClickListener这样,实例化它的时候,自动要求添加未实现的函数。我自己定义一个类似的类,怎么实现?

解决方案 »

  1.   

    你说的这个情况只有在接口的实现当中才能有,所以你自己可以定义一个接口Interface ,所有实现这个接口的类都会跟你遇到的OnClickListener一样实现接口里面的所有方法的
      

  2.   

    你说的这样的“类”不是类,是借口,Interface。
    接口只声明而不实现方法,只能在实现接口的类里定义接口中的方法。
      

  3.   

    interface PCI
    {
    void start();
    void stop();
    }
    class NetworkCard implements PCI
    {
    public void start()
    {
    System.out.println("Send ...");
    }
    public void stop()
    {
    System.out.println("Network Stop.");
    }
    }
    class SoundCard implements PCI
    {
    public void start()
    {
    System.out.println("Du du...");
    }
    public void stop()
    {
    System.out.println("Sound Stop.");
    }
    }
    定义接口,及使用例子
      

  4.   

    嗯 你这里所谓的“类”  在JAVA里叫接口
      

  5.   

    两个方法:
    1 接口
    2 抽象类接口里面含有的实际上也就是抽象方法,只不过省略了ABSTRACT.
      

  6.   

    1、接口interface Valuable
    {
    void printValue();//接口里面的方法默认是public abstract的
    }class Panda implements Valuable
    {
    @Override
    public void printValue()
    {
    //一定要实现这个方法,不然会报错,可以是空实现
    }
    }
    2、抽象类abstract class Animal
    {
    public abstract void run();//抽象方法不能去实现
    }class Cat extends Animal
    { @Override
    public void run()
    {
    //必须实现,不然会报错,可以是空实现
    }
    }
      

  7.   

    问题是抽象类不能实例化,我希望这个类可以直接使用,而Interface又不能含有其他代码,我不希望是个纯接口,并且接口也不能实例化吧,必须派生一下吧。OnClickListener到底是什么,纯接口吗?
      

  8.   

    我的目的是这样,一个类,实现一定的功能,那么必须有代码和成员。同时希望实例化这个类的时候必须实现某些重写方法。可能Java也没有办法做到这一点。
      

  9.   

    非常肯定告诉你,你这个多个要求在java当中没有办法做到,实现类的时候必须重写方法就必须是interface,而interface就只能声明方法,也没有什么类的成员变量能直接使用的类肯定不是抽象类和接口,你这种需要是根本不了解面向对象编程的基础上提的,你还是认真看一个MouseListner接口的源码吧,MouserListener就是一个interface,也就如此。好好学习面向对象的设计,连最起码的抽象类、接口都不清楚,你真的是来学习java的么
      

  10.   

    定义接口,所有implement这个接口的类都必须实现接口里面的方法!