【发布时间】:2018-01-16 00:04:30
【问题描述】:
我目前正在学习更多关于 Java 的知识,并且在书中遇到了一个示例,我认为这让我误解了接口的使用。正如我所看到的,有问题的界面是完全没有必要的,我想知道我是否读错了,或者我应该在别处寻找更好的理解(我已经尝试过但并不真正理解)。
界面:
public interface Series{
int getNext();
void reset();
void setStart(int x);
}
实现类:
class ByTwos implements Series {
int start;
int val;
By Twos() {
start = 0;
val = 0;
}
public int getNext(){
val += 2;
return val;
}
public void reset(){
val = start;
}
public void setStart(int x){
start = x;
val = x;
}
}
我不明白接口在这里有什么用,为什么类不能简单地删除 implements 语句,以及接口的真正用途。
编辑:与重复的问题不同,因为我在询问这个特定的示例,而这些问题的答案并不能帮助我真正理解这个概念。
【问题讨论】:
-
这意味着如果有人编写了一个接受
Series作为参数的方法,您可以将ByTwos的实例传递给它。 -
Series s = new ByTwos();是一个可能的用途,但是如果您需要添加ByThrees()怎么办?然后(使用Series)您只需更改为s = new ByThrees();即可……没有界面,您必须更改更多内容。如果是getSeries()的方法呢? -
@khelwood 啊,我不知道这是可能的。这让我更深入地了解了它为什么有用。
-
我想我现在明白了。所以本质上;接口是一种用于创建类的“模板”,它允许使用模板创建的类更容易互换?
标签: java