以下界面有什么问题(如果有的话)?
public interface WorldsBestInterface {
void favoriteMethod(int greatValue){
System.out.println("Thanks for the smile");
}
}
我遇到了解决这个问题的问题。
答案 0 :(得分:7)
接口中没有任何代码,只有签名。
public interface WorldsBestInterface {
void favoriteMethod(int greatValue);
}
答案 1 :(得分:6)
不应包含实施。接口只包含方法声明,它不包含实现。
void favoriteMethod(int greatValue){
System.out.println("Thanks for the smile");
}
应该是
public interface WorldsBestInterface {
void favoriteMethod(int greatValue);
}
答案 2 :(得分:1)
正如其他人所说,接口只定义了类的结构。它是实现它的类的合同,如果你选择使用它,那么你还必须包括这里定义的方法。因此,任何实现它的类都保证具有接口所具有的功能。
如果您需要在方法中包含代码,那么替代它将是一个抽象类。然后,您必须对其进行子类化以使其可用。
答案 3 :(得分:1)
如果是界面,我们只提供方法签名。但是,如果存在某些方法需要具体实现而其他方法只有方法签名的情况,请考虑使用创建抽象类。例如
public abstract class WorldsBestAbstractClass{
public void favoriteMethod(int greatValue){
System.out.println("Thanks for the smile");
}
public abstract void nextFavoriteMethod(int smallValue);
}
答案 4 :(得分:0)
你应该
public interface WorldsBestInterface {
void favoriteMethod(int greatValue); // no body, just declaration
}