私はこのようなChildClass
をインスタンス化することはできません入れ子になった静的クラスをJavaではインスタンス化できますが、C#ではインスタンス化できないのはなぜですか?静的な定義は異なっていますか?
public class ParentClass{
private parentClass(){}
public class ChildClass {
public ChildClass(){}
}
}
、次のJavaコードを仮定します
new ParentClass.ChildClass();
それはせずにC#で行うことができるのに対し、これは、JavaでChildClass
static
を行うことによってのみ可能です静的にします。
私の質問は、ネストされたクラスが静的である場合、なぜそれがJavaでインスタンス化され、なぜ同じものがC#で可能でないのかです。静的な定義は2つの言語で異なっていますか?
私はthis stack postを見ましたが、私の質問には答えません。
C#とJavaで 'static'修飾子を使用すると、型に意味が異なるだけです。これは*プラットフォーム*の違いより*言語*の違いです。 (たとえば、Javaのアプローチを実装する別の.NETベースの言語が存在する可能性があります)。 –