mk-toolブログ

エンジニアと家のことをごちゃごちゃと書いてます

【Java】JavaSilver1総合問題の復習その他確認


インターフェイスで定義したメソッドは自動的にpublic abstractがつくので実装するときは必ずpublicをつけてオーバーライドする。


は左がtrueであれば右側の処理は実行されない。

&&は左がfalseであれば右側の処理は実行されない。


finalの数値を変更することができるのはコンストラクタのみ。

pubic class Test {
    final int a;
    Test(int b) { a = b; } //OK
    void method(int c) { a = c; } //NG
}


インスタンスメソッドからインスタンスメソッドの呼び出しはインスタンスを生成することなくアクセスができる。

void methodC() {
    methodD();
}
void methodD() {}

もしこれがstaticメソッドからインスタンスメソッドの呼ぶ出しの場合はNG。



staticイニシャライザの存在。
staticイニシャライザはクラスをインスタンス化する前、mainメソッドを実行する前に使用できる。

static {
    System.out.println("staticイニシャライザ");
}

みたいな使い方をする。



StringBuilderの文字列の比較に関して、
String型はequalsメソッドのオーバーライドを行っているため、変数名.equals(変数名)という比較を行うことができるが
StringBuilderはオーバーライドを行っていないため、変数名.equals(変数名)という比較方法ではfalseになる。
そのため、変数名.ToString.equals(変数名.ToString())での比較を行う必要がある。


<再度解き直す必要がある問題>
5−3