- Java code
import Employee ;import java.util.Hashtable;public class Test{ public static void main(String []args){ Hashtable<Integer,Employee> ht = new Hashtable<Integer,Employee>(); ht.put(100,new Employee(111,"杨幂",111111)); ht.put(101,new Employee(222,"家驹",111)); Employee e = ht.get(100); e.showInfo(); }}class Employee{ private final int id; private String name; private double salary; public Employee(int id,String name,double salary){ this.id=id; this.name=name; this.salary=salary; } public int getId(){ return id; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public double getSalary(){ return salary; } public void setSalary(double salary){ this.salary=salary; } public void showIofo(){ System.out.println(id+"\t"+name+"\t"+salary); }}
刚才在书上看了这段代码,突然对几个地方不是很明白,自己的基础部分学的不扎实啊
1:在这个程序中把一些成员变量设置成private类型,有什么好处啊,在这个程序中能体现出这些好处吗?在这里能把它换成其他的类型吗?这样做有影响吗?
2:为什么有一些set.. 和get...这样的方法,在这里好像用不到吧?她在程序中起什么作用?
------解决方案--------------------
private 的好处是?封装性好。不让外界直接看见属性,你可以不设置get set方法,别人就不能查看和设置你的属性。
get set方法 现在的作用就是 查看修改属性值。用不到写着呗,不想写就删了
这个作用大了,等你后面用到了注入,这个是必须注意的。
------解决方案--------------------
private好处就是,你没必要公开的东西,对外公开了,会产生不安全因素。
get set方法
直接设定的时候感觉不出大优势,如果你在设定或者读取的时候,牵扯到验证或者别的操作的时候,就非常有用了。
------解决方案--------------------
private的作用是私有的,除了class自己外,任何人都不能直接使用
------解决方案--------------------
private 除了本类中,可以调用它外,其他的都不能调用的。在你这个程序中,作用不明显,毕竟类不多。
set get方法,不知道你这个是不是自动生成的,平时我们写的话,都是自动生成的。用不到的话,就没必要了。
主要就是用来 修改 得到属性的值的函数。
------解决方案--------------------
------解决方案--------------------
有快捷键 shift + alt + r 就能生成set get 方法
------解决方案--------------------
private 的好处是?封装性好。不让外界直接看见属性,你可以不设置get set方法,别人就不能查看和设置你的属性。