接口的静态和最终规则

Static and Final Rules of Interface

JAVA中的实例字段到底是什么意思?

据我所知 JAVA :

接口不能包含实例字段。唯一可以出现在接口中的字段必须同时声明为静态和最终。

但是,当我尝试如下时:

interface TempIn
{
        TakeInput tv=null;
        String name="";
        int temp=0;
        void printT();
}

它正在运行。如何 ? 困惑...

简单:所有这些字段都是静态的和最终的默认

因此 java 语言允许您写下隐式给出的内容。

换句话说:想象一下 "compiler" 为您写下关键字。

但我同意,这有点令人困惑。它也变成了 "style" 的东西。在 Java 的早年,很多人会在他们的界面中添加这些冗余关键字。另一方面,"clean code" 告诉我们要 避免 代码中的冗余。现在,像 IntelliJ 这样的 IDE 在使用关键字时甚至会给你 warnings。所以,我的建议:

  • 不要碰旧的、现有的代码
  • 与您的团队交谈,确定对您有意义的内容,对于新代码,请遵循该协议