0
0

More than 1 year has passed since last update.

Java Silver勉強メモ

Last updated at Posted at 2023-09-20

最初に

Java Silver 勉強のメモを記していきたいと思います。
間違いなどありましたら教えていただけると幸いです。
随時更新していきます。

同名のローカル変数とフィールドがある場合

同名のローカル変数とフィールドがある場合、this を使ってフィールドであることを明記しないとローカル変数が優先されます、
そのため下記では test メソッドを実行しても num フィールドの値は変更されません。

public class Main {
    private static int num;
    // static初期化子
    static {
      num = 10;
    }
    static {
      num = 20;
    }

    static void test(int num) {
        num = num * num; // ここで参照しているnumは引数のnum
    }

    public static void main(String[] args) {
      test(num);
      System.out.println(num); // 20
    }

}

アクセス修飾子について

修飾子 説明
public すべてのクラスからアクセス可能
protected 同じパッケージに属するか、継承しているサブクラスからのみアクセス可能
なし(デフォルト) 同じパッケージに属するクラスからのみアクセス可能
private クラスないからのみアクセス可能

protectedとなしでは同じパッケージに属するクラスからのアクセスを受け付ける点では同じですが、スーパークラスとは別のパッケージに属するサブクラスからのアクセスについては異なります。
protectedは異なるパッケージに属するサブクラスからアクセスできますが、アクセス修飾子なしではサブクラスであっても別パッケージに属するクラスからはアクセスできません。

0
0
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
0
0