【问题标题】:java interface is analogus to java specification?java接口类似于java规范?
【发布时间】:2013-09-21 17:12:03
【问题描述】:

我可以举个例子让我/其他人理解接口和类之间的差异

java接口类似于java规范(JMS APIs) Java 类类似于规范的实现(ActiveMQ 等)

【问题讨论】:

    标签: java interface


    【解决方案1】:

    理解差异的一种简单方法是认为接口定义一个对象做什么,而一个类定义如何它做什么。

    您建议的类比是不完整的,因为 Java 有一个位于接口和类中间的概念,即抽象类:规范可以建模为抽象类或接口。

    【讨论】:

    • 感谢回复,请举个例子“一个规范可以在java中建模为抽象类”
    • @Naroji 抽象类提供了 whathow 的混合,因为它的方法没有实现方式相同接口以及可能具有实现的方法,就像它们在类中一样。例如,JMS 将Message 指定为接口,但它也可以将其指定为抽象类:此类规范将为公共属性提供实现,例如IDpriority,省略“有效负载”由实现提供的方法。
    【解决方案2】:

    类和接口之间的区别在于它们的运行方式。一个类里面有一个主方法。接口就像您可以将方法放入其中的全局文件。例如,你有 Blah 类

     public class Blah {
    
        // NOTICE: this is a method that allows you
        // to perform actions within the method
    
        public static void main(String args[]) {
            // do whatever
        }
     }
    

    你有一个名为 BlahInterface 的接口

     public interface BlahInterface {
    
         public static void main(String args[]);
    
         public void sayBlah();
    
         public int getAmountOfBlahs();
    
         public String getWhatBlahSays();
    
         public int setBlahs(int blahNumber);
    
     }
    

    如您所见,类和接口之间的区别在于,类依赖于接口来实现它可以实现的方法。

    您可以看到该类允许 main 方法在其内部运行东西,但是如果您尝试在接口中运行 main 方法,它将无法正常工作。

    总结: 接口只是用来初始化类可以使用/运行的方法。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 2013-10-13
      • 2021-01-03
      • 1970-01-01
      相关资源
      最近更新 更多