【发布时间】:2013-09-27 06:47:35
【问题描述】:
这是基本问题,但我仍然不了解封装概念。我不明白我们如何从其他类中更改类的属性。因为无论何时 我们尝试设置类的公共实例值,我们必须创建该类的对象,然后设置值。每个对象引用不同的内存。所以即使我们改变 这不会影响任何其他对象的实例值。
即使我尝试使用静态公共实例值进行更改,我也无法更改类属性值。
示例如下
// 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
即使我没有遵循封装概念,也无法更改员工类的公共实例值。请帮助我理解我出错的概念。
【问题讨论】:
标签: java encapsulation