java基础知识求解
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方法,别人就不能查看和设置你的属性。