1. ホーム

[解決済み】Javaのデフォルトのアクセスモディファイアは何ですか?[重複しています]。

2022-03-17 21:47:27

質問

メソッドやインスタンス変数のアクセス修飾子を明示的に指定しない場合、デフォルトはどうなりますか?

例えば

package flight.booking;

public class FlightLog
{
    private SpecificFlight flight;

    FlightLog(SpecificFlight flight)
    {
        this.flight = flight;
    }
}

このコンストラクタのアクセス修飾子はprotectedかpackageか?同じパッケージ内の他のクラス、つまり flight.booking は、このコンストラクタを呼び出しますか?

解決方法は?

Javaから ドキュメント

クラスがモディファイアを持たない場合(デフォルト、package-privateとしても知られています)、それはそれ自身のパッケージ内でのみ見ることができます(パッケージは関連するクラスのグループという名前です。後のレッスンでそれについて学びます)。

において member level の場合、public モディファイアや no modifier (package-private) のように、トップレベルクラスと同じ意味を持ちます。

全文はこちらでご覧いただけます( <サブ 最近書いたもの ):

http://codeinventions.blogspot.com/2014/09/default-access-modifier-in-java-or-no.html