2017-04-26 16 views
-1

私はjavaの概念を再考しています。だから、ここで私は、この例では探しています継承を持つ静的ブロック

class A { 
    A() {System.out.print("CA");} 
    static {System.out.print("SA");} 
} 
class B extends A { 
    B() {System.out.print("CB");} 
    static {System.out.print("SB");} 
    public static void main(String[] args) { 
     B b = new B(); 
    } 
} 

出力は、クラスのコンストラクタが呼び出されないので、CAメッセージがプリントされている理由だから私は理解していなかったSASBCACB

です。

私の質問は、基本的なJavaのようなものですが、それについてはあまり知られていないことをよく知っています。

+1

Bのコンストラクタは暗黙のうちにAのコンストラクタである 'super()'を呼び出します –

答えて

1

Aは、Bを作成したときにインスタンス化されます。これは継承の仕組みです。

関連する問題