Java接口示例
我目前正在学习更多关于Java的知识,在一本书中遇到了一个例子,我认为这让我误解了接口的使用。在我看来,所讨论的接口完全没有必要,我想知道我是否读错了,或者我应该去别处寻找更好的理解(我已经试过了,但并不真正理解) 界面:Java接口示例,java,Java,我目前正在学习更多关于Java的知识,在一本书中遇到了一个例子,我认为这让我误解了接口的使用。在我看来,所讨论的接口完全没有必要,我想知道我是否读错了,或者我应该去别处寻找更好的理解(我已经试过了,但并不真正理解) 界面: public interface Series{ int getNext(); void reset(); void setStart(int x); } 实现类: class ByTwos implements Series { int s
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语句,以及接口真正的用途
编辑:与重复问题不同,因为我问的是这个特定的例子,这些问题的答案并没有帮助我真正理解这个概念。TL;博士
- 它定义了“什么”,即实现了什么
- 它定义了“如何”,即如何实施
- 它定义了“什么”,即实现了什么
- 它定义了“如何”,即如何实施
- TL;博士
Series
作为参数,您可以将ByTwos
的实例传递给它。Series s=new ByTwos()
是一种可能的用法,但是如果需要添加ByThrees()
,该怎么办?然后(使用Series
)只需更改为s=newbythrees()代码>没有其他内容。。。没有界面,你必须改变更多的东西。如果这是一种getSeries()
的方法呢?@khelwood啊,我不知道这是可能的。这让我对它的用处有了更多的了解。我想我现在明白了。本质上如此;接口是一种用于创建类的“模板”,它允许使用该模板创建的类更容易交换?这意味着如果有人编写了一个方法,该方法接受系列
作为参数,您可以将ByTwos
的实例传递给它。系列s=new ByTwos()
是一种可能的用法,但是如果需要添加ByThrees()
,该怎么办?然后(使用Series
)只需更改为s=newbythrees()代码>没有其他内容。。。没有界面,你必须改变更多的东西。如果这是一种getSeries()
的方法呢?@khelwood啊,我不知道这是可能的。这让我对它的用处有了更多的了解。我想我现在明白了。本质上如此;接口是一种用于创建类的“模板”,它允许使用该模板创建的类更容易交换?非常感谢,您的解释比我发现的其他地方容易得多(出于某种原因,也没有人使用“模板”这个词,现在似乎是准确描述它的最简单的术语)。也要感谢主要问题评论中的@JacksOnF1re。非常感谢,你的解释比我找到的其他地方容易多了(也因为某些原因,没有人使用“模板”这个词,现在似乎是最简单的术语来准确描述它)。还要感谢@JacksOnF1re在主要问题评论中的作用。