当前位置: 代码迷 >> J2SE >> java基础知识求解,该如何解决
  详细解决方案

java基础知识求解,该如何解决

热度:8   发布时间:2016-04-24 00:42:00.0
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方法,别人就不能查看和设置你的属性。
  相关解决方案