【问题标题】:static keyword by itself in JavaJava中的静态关键字本身
【发布时间】:2013-05-18 20:14:06
【问题描述】:

我知道什么是静态......全局。

所以我正在查看代码,以便更好地编写自己的代码。我正在浏览 Minecraft 源代码,对于那些有兴趣在“TileEntity.java”和“EntityList.java”文件中查看的人。肯定没必要去那边看,因为它只是一种编程方式。

所以,我们只有一个带有方法的常规类:

public class EntityList{
    public static void addMapping( /* variables that dont matter */ ){
        //Call other methods, also unimportant
    }
}

之后有一个类导入 EntityList 并执行此操作:

import the.path.to.EntityList;
public class TileEntity{
    static{
        addMapping( /* vars */ );
        addMapping( /* vars */ );
    }
}

现在我想知道:这是如何工作的?如果您需要了解更多代码背景,请告诉我,但由于版权和其他原因,我无法重新分发文件。如果你自己有 Minecraft,那么你必须反编译它。

【问题讨论】:

  • 不要只说“它不起作用”。向我们展示您的尝试,并粘贴您收到的确切错误消息。
  • 如果您有两个不同的问题,您应该将它们作为两个不同的问题发布。
  • 谢谢 JB Nizet,下次我会记住这一点。当然,感谢 ellak 的评论。后来我弄清楚了如何导入一个类,这是我错过的一个愚蠢的拼写错误。现在让我们等待第一个问题:) 我忘记了布赖恩,谢谢。这对我以后的参考帮助很大

标签: java eclipse import static


【解决方案1】:

我们看不到真正的代码,但我猜它包含一个静态导入:

import static the.path.to.EntityList.addMapping;

import static the.path.to.EntityList.*;

静态导入允许引用类的静态字段或方法,而无需键入类的名称。

更多详情请见http://docs.oracle.com/javase/1.5.0/docs/guide/language/static-import.html

【讨论】:

  • 这完全有道理。但现在我注意到,它实际上不是由同一个类导入的。它也没有继承任何东西,所以现在我有疑问.. 那么,这是否可能与包装有关?所以如果文件结构是这样的:import static path.to.EntityList.addMapping; -> new folder -> static{ addMapping( /* something */ ); }。您已经发布的内容非常有帮助。非常感谢您!
  • 我不明白你在说什么。在您的问题中发布代码。如果是专有代码,则使用类似的代码和类似的结构创建自己的类。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-11
  • 2014-04-16
  • 2011-12-10
  • 2022-10-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多