我是Java的新手,但是有C ++的经验。我遇到了一些我不理解的代码:

public class SomeClass {
    private SomeOtherClass someOther = new SomeOtherClass();
    private AThirdClass thirdClass;

    SomeClass() {
        this.thirdClass = new AThirdClass();
    }
}


为什么当只有一个构造函数时,您会在初始化中初始化someOther并在构造函数中初始化thirdClass吗?

最佳答案

以下是您可能希望这样做的原因之一。

public class SomeClass {
    private SomeOtherClass someOther = new SomeOtherClass();
    private AThirdClass thirdClass;

    SomeClass( int x ) {
        this.thirdClass = new AThirdClass( x );
    }
}


但这仅说明了为什么要在构造函数中初始化thirdClass。我不知为何要解释为什么您要在init块中初始化someOther。

09-29 19:21