Java Encapsulation Concept nicht klar
Dies ist eine grundlegende Frage, aber ich verstehe das Verkapselungskonzept immer noch nicht. Ich habe nicht verstanden, wie wir die Eigenschaften der Klasse von einer anderen Klasse aus ändern können. Wenn wir versuchen, den öffentlichen Instanzwert der Klasse festzulegen, müssen wir ein Objekt dieser Klasse erstellen und dann den Wert festlegen. Jedes Objekt verweist auf einen anderen Speicher Auch wenn wir den Instanzwert ändern, hat dies keine Auswirkungen auf andere Objekte.
Auch wenn ich versuche, mit statischen öffentlichen Instanzwert zu ändern, kann ich den Klasseneigenschaftswert nicht ändern.
Beispiel ist unten angegeben
// Employee class
public class Employee {
public static int empid;
public static String empname;
public static void main(String[] args) {
System.out.println("print employe details:"+empid+" "+empname);
}
// EmployeeTest class
public class EmployeeTest {
public static void main(String[] args) {
Employee e = new Employee();
e.empid=20;
e.empname="jerry";
Employee.empid=10;
Employee.empname="tom";
}
}
}
Jedes Mal, wenn ich renneEmployee
Klasse bekomme ich gleich wert
print employe details:0 null
Auch wenn ich dem Kapselungskonzept nicht folge und den öffentlichen Instanzwert der Mitarbeiterklasse nicht ändern kann. Bitte helfen Sie mir, das Konzept zu verstehen, bei dem ich falsch liege.