日期:2014-05-20  浏览次数:20644 次

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方法,别人就不能查看和设置你的属性。