3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Java Bronze対策メモ2

Posted at

for文のネスト

2つ目のfor文はfalseになるまで実行される

Main.java
class Main {
  public static void main(String[] args) {
    int[] array1 = {1, 2, 3};
    int[] array2 = {4, 5};
    for (int x = 0; x < array1.length; x++) {
      System.out.print(array1[x] + " ");
      for (int y = 0; x < array2.length; y++) {
        System.out.print(array2[y] + " ");
      }
    }
  }
}
実行結果
145245345

オーバーライド

・サブクラスでオーバーライドするには

メソッド名、引数リストが同じであること
戻り値は同じか戻り値の型がサブクラスであればOK
アクセス修飾子はスーパークラスと同じかそれよりも公開範囲が広いもの
スーパークラスのクラス、メソッドにfinalが付いている場合はオーバーライドできない

アクセス修飾子 戻り値の型 メソッド名(引数リスト) { }

this

自分自身のオブジェクトを指す
オブジェクトが保持する変数、メソッド、コンストラクタを明示的にしていする際に使う

this.変数名

thisでコンストラクタを呼ぶ

Main.java
class Main {
  String s;
  int i;
  public Main() {
    this("hello");
  }
  public Main(String s) {
    this("hello", 3);
  }
  public Main(String s, int i) {
    this.s = s; this.i = i;
    System.out.println(this.s + this.i);
  }
}

super

サブクラスから明示的にスーパークラスを呼び出すときに使う

super.メソッド名

superでコンストラクタを呼び出す

サブクラスをインスタンス化するとまずスーパークラスのコンストラクタが実行される

抽象クラス

[修飾子] abstract class クラス名 { }

・特徴
インスタンス化はできない
サブクラスでオーバーライドして利用
・抽象クラスをもとにサブクラスを定義するときはextendsキーワードを使う

抽象メソッド

[修飾子] abstract 戻り値の型 メソッド名(引数リスト);

  • 特徴
    修飾子、戻り値の型、メソッド名、引数リストには通常のメソッドと同様に記述する
    処理はもたないためメソッドの後ろに「;」(セミコロン)で終わる
    継承したクラスは必ず抽象メソッドを実装しなくてはいけない

インターフェイス

[修飾子] interface インタフェイス名 { }

  • 特徴
    変数は定数しか定義できない
    メソッドは抽象メソッドしか宣言できない
    インスタンス化はできず使用する場合は実装クラスを定義する
    実装クラス側では抽象メソッドをすべてオーバーライドする
    実装クラスを定義するにはimplementsキーワードを使う
    インターフェイスをもとにサブインターフェイスを宣言する場合はextendsキーワードを使う

  • インターフェイスでの変数とメソッド
    インターフェイス内で変数を定義すると暗黙的にpublic static final 修飾子が付与される
    staticな変数で変数の宣言と同時に初期化しなければコンパイルエラーとなる
    アクセス修飾子はpublicのみです。

  • インターフェイスの実装クラス

[修飾子] class クラス名 implements インターフェイス名 { }

implementsで指定したインターフェイスのメソッドをオーバーライドしなくてはいけない
またオーバーライドする際にはpublic修飾子をつける必要がある

パッケージ化

package パッケージ名;
class Main { }

  • 特徴
    ソースファイルの先頭にpackageキーワードを使う
    コメントなどの下に記述でもOK

  • 異なるパッケージに所属するクラスを利用する
    import文をソースファイルの先頭行で記述する

◆ひとつのクラスを利用する場合
import パッケージ名.クラス名;

◆複数のクラスを利用する場合
import パッケージ名 *;

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?