This question already has answers here:
What is an interface in Java?
                                
                                    (9个答案)
                                
                        
                        
                            Why would I want to use Interfaces? [closed]
                                
                                    (19个回答)
                                
                        
                                2年前关闭。
            
                    
我目前正在学习有关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语句,以及接口真正起到什么作用。

编辑:由于我正在询问这个特定示例,所以与重复的问题并不完全相同,这些问题的答案并没有真正帮助我理解这个概念。

最佳答案

TL; DR


它定义了“什么”,即实现了什么
它定义了“如何”,即如何实现它。



  该接口的主要目的是将实现与
  定义并强制实施方法而无需
  失败。


假设您是一名经理,并且决定程序员应该遵循模板,则可以使用Interface。它就是这样做的,它提供了模板。
假设团队负责人要强制实施某种功能,但又不想更改经理模板中的内容,他可以创建另一个界面。是的,接口可以多重继承。


  接口是类可以做什么的契约(或协议,或共识)。当类实现某个接口时,它承诺为接口中声明的所有抽象方法提供实现。


它提供了抽象,您可以公开用于通信的接口,我们可以从接口本身识别签名。

它还提供了一种实现多态的方法。

参考:


https://www.tutorialspoint.com/java/java_interfaces.htm
https://msdn.microsoft.com/en-us/library/3b5b8ezk(v=vs.90).aspx

关于java - Java接口(interface)示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45567973/

10-11 20:46
查看更多