Java:为什么Observer不是一个接口

时间:2013-03-13 14:08:42

标签: java interface

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;

class Client extends Button implements Observer, ActionListener{
...
}

使用上面的代码,当我尝试使用jdk(v 1.7.0_17)编译它时,我收到以下错误:

error: interface expected here
class Client extends Button implements Observer, ActionListener{
                                       ^

在其他计算机上工作(我只在2个不同的linux上检查过)就好了。 我正在使用Windows 7 Professional 64位。

1 个答案:

答案 0 :(得分:5)

java.util.Observer绝大多数 是一个界面。

我怀疑你在与Observer相同的包中有一个Client类,这肯定会导致这个问题。

完整的例子:

编译好:

import java.util.*;
import java.awt.*;
import java.awt.event.*;

class Client extends Button implements Observer, ActionListener {
    public void update(Observable x, Object y) {}
    public void actionPerformed(ActionEvent event) {}
}

这不是:

import java.util.*;
import java.awt.*;
import java.awt.event.*;

class Observer {} // Awooga! Awooga!

class Client extends Button implements Observer, ActionListener {
    public void update(Observable x, Object y) {}
    public void actionPerformed(ActionEvent event) {}
}