私はJavaにとても慣れていません。カプセル化とアクセス方法を理解するための小さなプログラムを作成しました。コードは:
package practise;
public class EncapTest {
private String name;
String surname;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package practise;
public class RunEncap {
public static void main(String[] args) {
EncapTest encapObj = new EncapTest();
encapObj.setName("Prabh");
encapObj.surname = "Rana";
System.out.println("Name :" + encapObj.getName());
System.out.println("Surname :" + encapObj.surname);
}
}
ここで、別のパッケージ「practise2」を作成し、インポートを使用して「EncapTest」のオブジェクトを作成しようとすると、変数名にアクセスできますが、surnameにアクセスしようとすると、フィールドsurnameが表示されないというエラーが表示されます。 ..
package practise2;
import practise.EncapTest;
public class Runencap2 {
public static void main(String[] args) {
EncapTest encapObj = new EncapTest();
encapObj.setName("Prabh");
encapObj.surname = "Rana"; // <<<<getting error here
System.out.println("Name :" + encapObj.getName());
System.out.println("Surname :" + encapObj.surname);
}
}