这是一个基础问题,但我仍然不理解封装的概念。我不明白如何从其他类更改类的属性,因为当我们尝试设置类的公共实例值时,我们必须创建该类的对象,然后设置该值。而每个对象引用不同的内存,所以即使我们更改了实例值,这也不会影响任何其他对象。
即使我尝试使用静态公共实例值进行更改,我也无法更改类的属性值。
以下示例说明
// 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";
}
}
}
每次运行Employee
类时,我都得到相同的值。
print employe details:0 null
尽管我没有遵循封装的概念,也无法更改员工类的公共实例值。请帮助我理解我错在哪里的概念。