忍者ブログ
まにょのITメモ
[2]  [3]  [4]  [5]  [6]  [7]  [8
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

インナークラスの制限事項

・外部クラスと同じ名前はつけられない

・staticなフィールドを持てない
PR
②ローカルインナークラス

public class Outer {

    public void method() { 

        class Inner2{ 

        }
    }
}


・Outerクラスのmethodメソッドの中にInner2クラスがある。

・newの仕方
    Inner2 in = new Inner2();

・使用可能な修飾子
    abstract  final

①インナークラス

public class Outer {

    public class Inner1 { 

    }
}


・Outerクラスの中にInner1クラスがある。

・newの仕方
    Outer.Inner1 in = new Outer().new Inner1();

・使用可能な修飾子
    public  protected  default  private  abstract  final
 

ガーベッジコレクションとは


どこからも参照されていないインスタンスやメソッドを消す。

System.gc() で呼び出せる。が、実行されるタイミングを指定できるわけではない。

finalizeメソッドはガーベッジコレクションが実行される直前に実行される。

finalizeメソッドは実行される順番を指定することはできない。

public class Main {

    public static void main(String[] args) {
  
        for(int i =0; i<3; i++){
              System.out.println(i);
         }
  
        for(int i=0; i<3; ++i){
            System.out.println(i);
        }

    }

}


実行結果は、
0
1
2
0
1
2
となる。
i++ または ++i 、どっちで書いても i にプラス1されるのは
{ }の中の処理が終わってから。

忍者ブログ * [PR]