Dogクラスのprivate String nameはクラス内でしか使えないと思ってましたが、下記のプログラムを実行するときちんとした実行結果になってしまいました。
1.何故privateなのに別のクラスで名前を使えるのでしょうか?
2.この場合はゲッターを使うと思ってましたが使う必要ありますか?
宜しくお願い致します。
package com.web.pro2;
public class Cmain {
public static void main(String[] args) { Dog john = new Dog("ジョン"); Dog tom = new Dog("トム"); john.friend(tom); }//main
}//class
package com.web.pro2;
public class Dog {
private String name; public Dog(String name){ this.name = name; } public void friend(Dog other){ System.out.println(name + "の友達は" + other.name); }
}
other.nameがなぜ呼べるのか? というご質問になるでしょうか。
回答4件
あなたの回答
tips
プレビュー