黑马程序员技术交流社区

标题: 不可变类 [打印本页]

作者: 我love    时间: 2016-5-24 11:48
标题: 不可变类
不可变类的意思是创建改类的实例后,该实例的实例变量是不可改变的,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()方法。
作者: a15868412325    时间: 2016-5-24 20:49
赞       赞         
作者: yuanqingleivip    时间: 2016-5-24 20:55
又学到了,感谢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2