日期:2014-05-20  浏览次数:20951 次

怎么定义一个类(或者interface什么的),让它的实例必须实现指定的函数
就像OnClickListener这样,实例化它的时候,自动要求添加未实现的函数。

我自己定义一个类似的类,怎么实现?

------解决方案--------------------
你说的这个情况只有在接口的实现当中才能有,所以你自己可以定义一个接口Interface ,所有实现这个接口的类都会跟你遇到的OnClickListener一样实现接口里面的所有方法的
------解决方案--------------------
你设计一个接口,写上几个抽象方法就可以了啊。
------解决方案--------------------
你说的这样的“类”不是类,是借口,Interface。
接口只声明而不实现方法,只能在实现接口的类里定义接口中的方法。
------解决方案--------------------
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.");
}
}
定义接口,及使用例子
------解决方案--------------------
嗯 你这里所谓的“类” 在JAVA里叫接口
------解决方案--------------------
两个方法:
1 接口
2 抽象类

接口里面含有的实际上也就是抽象方法,只不过省略了ABSTRACT.
------解决方案--------------------
1、接口
Java code

interface Valuable
{
    void printValue();//接口里面的方法默认是public abstract的
}

class Panda implements Valuable
{
    @Override
    public void printValue()
    {
        //一定要实现这个方法,不然会报错,可以是空实现
    }    
}

------解决方案--------------------
要定义类首先做到以下几点:1修饰符 2:类名 3:类的实例化

------解决方案--------------------
非常肯定告诉你,你这个多个要求在java当中没有办法做到,实现类的时候必须重写方法就必须是interface,而interface就只能声明方法,也没有什么类的成员变量

能直接使用的类肯定不是抽象类和接口,你这种需要是根本不了解面向对象编程的基础上提的,你还是认真看一个MouseListner接口的源码吧,MouserListener就是一个interface,也就如此。

好好学习面向对象的设计,连最起码的抽象类、接口都不清楚,你真的是来学习java的么



探讨

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

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