A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我love 中级黑马   /  2016-5-24 11:48  /  589 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

不可变类的意思是创建改类的实例后,该实例的实例变量是不可改变的,java提供的8个包装类和java.lang.String类都是不可变类。当创建他们的实例后,它们的实例是不可改变的。
例如:String str = new String("hello");
当创建了一个String对象,并为这个对象传了"hello"这个字符串作为参数,那么String肯定会提供实例变量来接受这个参数,但是程序却再次无法修改这个实例变量的值了。因为String类没有提供修改变量的方法。
创建不可变类有以下几个规则:
1.使用private和final来修饰该类的成员变量
2.提供有参构造方法,用于根据传入参数来初始化该类的成员变量
3.仅仅提供该类的getXxx()方法,不提供setXxx()方法
4.如果有必要,请重写Object类的hashCode()和equals()方法。

2 个回复

倒序浏览
赞       赞         
回复 使用道具 举报
又学到了,感谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马