Koncepcja enkapsulacji Java nie jest jasna
To podstawowe pytanie, ale wciąż nie rozumiem koncepcji enkapsulacji. Nie rozumiałem, jak możemy zmienić właściwości klasy z innej klasy. Ponieważ za każdym razem, gdy próbujemy ustawić publiczną wartość klasy klasy, musimy utworzyć obiekt tej klasy, a następnie ustawić wartość.i każdy obiekt odwołuje się do innej pamięci . nawet jeśli zmienimy wartość instancji, nie wpłynie to na żaden inny obiekt.
Nawet próbuję zmienić za pomocą statycznej wartości instancji publicznej również nie jestem w stanie zmienić wartości właściwości klasy.
Przykład podano poniżej
// 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";
}
}
}
Za każdym razem, gdy biegamEmployee
klasa Otrzymuję tę samą wartość
print employe details:0 null
Nawet jeśli nie śledzę koncepcji enkapsulacji i nie jestem w stanie zmienić wartości publicznej instancji klasy pracownika. Pomóż mi zrozumieć koncepcję, w której popełniam błąd.