我是一個試圖破解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