我对这段 Java 代码(一个名为 Message 的类)感到非常困惑。我认为第二个构造函数设置为data_length
使用一个值进行初始化,为此它调用了一个init
如您所见命名的方法。
但是里面发生的事情init
是什么让我把头撞在桌子上:D 这个方法里面发生了什么?为什么叫自己??
/**
* The actual length of the message data. Must be less than or equal to
* (data.length - base_offset).
*/
protected int data_length;
/** Limit no-arg instantiation. */
protected Message() {
}
/**
* Construct a new message of the given size.
*
* @param data_length
* The size of the message to create.
*/
public Message(int data_length) {
init(data_length);
}
public void init(int data_length) {
init(new byte[data_length]);
}
我正在将此代码转换为 C#,如果我这样做可以吗:
public class Message
{
//blah blah and more blah
private int _dataLength;
public Message(int dataLength)
{
_dataLength = dataLength;
}
}