【问题标题】:In Java, if a class implements an interface, do I need to compile the interface?在Java中,如果一个类实现了一个接口,我需要编译这个接口吗?
【发布时间】:2015-09-11 02:31:06
【问题描述】:

我之前的想法是,我必须将接口与实现类一起编译,以便实现类理解属于接口的静态数据。

例如,如果接口有一个数据字段public static final int six = 6,如果我想在编译的类中使用six并使用该类运行程序并使用six,我必须包含编译的接口也上课。

好像不是这样,实现类怎么知道自己有这个数据域,没有编译好的接口?

【问题讨论】:

    标签: java interface


    【解决方案1】:

    如果我想在编译后的类中使用six,并使用该类运行程序并使用six,我还必须包含编译后的接口类。

    正确。

    然而static final 值可能会被 java 编译器内联到常量值(在编译时)。您可以使用类似的东西检查字节码

    javap -v MyClass.class
    

    【讨论】:

    • 内联还有什么? final, static?还是只有将两者放在一起static final
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 2018-02-15
    • 2016-04-28
    • 1970-01-01
    • 2012-03-30
    相关资源
    最近更新 更多