JAVA核心技术的学习

来源:互联网 发布:阿里云备案是什么意思 编辑:程序博客网 时间:2024/05/17 21:40

P113警告 不要编写返回引用可变对象的访问器方法。

举例:

class Employee

{

     private Date hireDay;

     .....

     public Date getHireDay()

     {

          return hireDay;

     }

     ......

}

这样破坏了类的封装性,如

Employee harry=......;

Date d=harry.getHireDay();

d.setTime(d.getTime()-22222);

这样Employee中的数据域也发生了改变。

 

在java中,类(如Date类)   Date d=new Date();

这里的d就相当于c++中的Date *d;

d是指向Date对象的实例的指针,于是便可以通过其修改类中的私有变量;

我的理解 可变对象就是其中有改变其数据域的方法的对象

新手,刚学java,求指教~

 

0 0
原创粉丝点击