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.

Antworten auf die Frage(12)

Ihre Antwort auf die Frage