-3

以下界面有什么问题(如果有的话)?

public interface WorldsBestInterface {
    void favoriteMethod(int greatValue){
        System.out.println("Thanks for the smile");
    }
}

我在解决这个问题时遇到了问题。

4

5 回答 5

7

接口中没有任何代码,只有签名。

public interface WorldsBestInterface {
    void favoriteMethod(int greatValue);
}
于 2012-07-19T15:57:03.880 回答
6

不应包含实现。接口只包含方法声明,不包含实现。

void favoriteMethod(int greatValue){
        System.out.println("Thanks for the smile");
    }

它应该是

 public interface WorldsBestInterface {
    void favoriteMethod(int greatValue);
}
于 2012-07-19T15:56:48.007 回答
1

正如其他人所说,接口仅定义类的结构。这是实现它的类的合同,如果您选择使用它,那么您还必须包括此处定义的方法。因此,任何实现它的类都保证具有接口所具有的功能。

如果您需要在方法中包含代码,则可以选择抽象类。然后,您必须对其进行子类化才能使其可用。

于 2012-07-19T16:00:20.047 回答
1

如果是接口,我们只提供方法签名。但是,如果存在某些方法需要具体实现而其他方法只有方法签名的情况,请考虑使用创建抽象类。例如

public abstract class WorldsBestAbstractClass{
  public void favoriteMethod(int greatValue){
        System.out.println("Thanks for the smile");
    }

  public abstract void nextFavoriteMethod(int smallValue);
}
于 2012-07-19T16:02:34.450 回答
0

你应该有

public interface WorldsBestInterface {
   void favoriteMethod(int greatValue);  // no body, just declaration
}
于 2012-07-19T15:58:23.113 回答