アクセス修飾子は、外部のクラスやパッケージからアクセスの制限を指定するものです。主なアクセス修飾子の制限の範囲を覚えておきましょう。
問題 - アクセス修飾子「難易度:低」
次のように、3つのメンバ変数name、email、telをもつPersonクラスがあります。3つのメンバ変数にはそれぞれpublic修飾子、protected修飾子、private修飾子が付けられています。
public class Person {
public String name;
protected String email;
private String tel;
}
同一パッケージの別のクラスから、次のようにPersonクラスを生成し、各メンバ変数に値をセットしようと思います。さて、3つのメンバ変数の中でセットできないものはどれでしょうか?
Person tanaka = new Person();
tanaka.name = "田中";
tanaka.email = "xxx@xxx.xxx.xxx";
tanaka.tel = "999-9999-9999";
アクセス修飾子は、外部のクラスやパッケージからアクセスの制限を指定するものです。主なアクセス修飾子の制限の範囲を覚えておきましょう。
問題 - アクセス修飾子「難易度:低」
次のように、3つのメンバ変数name、email、telをもつPersonクラスがあります。3つのメンバ変数にはそれぞれpublic修飾子、protected修飾子、private修飾子が付けられています。
public class Person {
public String name;
protected String email;
private String tel;
}
同一パッケージの別のクラスから、次のようにPersonクラスを生成し、各メンバ変数に値をセットしようと思います。さて、3つのメンバ変数の中でセットできないものはどれでしょうか?
Person tanaka = new Person();
tanaka.name = "田中";
tanaka.email = "xxx@xxx.xxx.xxx";
tanaka.tel = "999-9999-9999";
解答
セットできないメンバ変数はprivate修飾子のついた変数tel。
解説
private修飾子は、クラス内のアクセスのみを許可するアクセス修飾子です。外部のクラスからはアクセスすることができません。public修飾子とprotected修飾子は同一パッケージの外部クラスからのアクセスを許可します。protected修飾子は他のパッケージからのアクセスは禁止しますが、public修飾子は、他のパッケージからのアクセスも許可します。