3
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 ビットを使用しています。

4

1 に答える 1

6

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) {}
}
于 2013-03-13T14:10:55.967 に答える