我是一个试图破解Java项目的C#程序员。以下是我们的产品代码的匿名摘录。它工作(我认为)。请注意,这个是全班的。Java中的构造函数是可选的还是什么?
public class Y extends X
{
public Z m_Z;
protected void readCustomData (CustomStream reader, boolean forUpdate)
throws IOException, FTGException
{
super.readCustomData (reader, forUpdate) ;
m_Z.readBinaryData (reader, forUpdate) ;
}
protected void writeCustomData (CustomStream writer, int original)
throws IOException, FTGException
{
super.writeCustomData (writer, original) ;
m_Z.writeBinaryData (writer, original) ;
}
}
我困惑的是 - m_Z
在哪里初始化?我无法在整个代码库中找到它。那么为什么readCustomData
和writeCustomData
方法不能通过NullReferenceException
或者Java中的等价方法? m_Z
以某种方式与Y
一起自动构建?或者我错过了什么,并且在初始化它的代码库中有一些更深的魔力?
你使用什么样的IDE?在eclipse中,例如,您可以在工作区中搜索引用,并标记该字段并按下strg + shift + g。大多数IDE都有类似的东西。这样,你应该找到你讨厌的消毒器! ;) – crusam 2010-09-28 11:19:55
Netbeans。我已经通过参考和简单的字符串搜索它。但我已经发现反射被用来初始化它,所以它没有被发现。 – 2010-09-28 12:38:53