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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© vipzh 中级黑马   /  2012-12-2 17:39  /  987 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎样理解String类是一个不可变类?

2 个回复

倒序浏览
不可变类:创建该类的实例后,该实例的属性是不可改变的。
java提供的包装类和java.lang.String类都是不可变类。当创建它们的实例后,其实例的属性是不可改变的。

自定义一个不可变类

Class Name
{
    private String firstName;
    private String lastName;
    public Name(String firstName ,String lastName)
    {
              this.firstName = firstName ;
              this.lastName = lastName ;
    }
    public String getfirstName()
    {
             return firstName ;
    }
    public String getlastName()
    {
             return lastName ;
    }

}

1.使用private 和final修饰符修饰变量。

2.提供带参数的构造器用于根据参数来初始化类里的属性。

3.仅为该类的属性提供getter方法,不提供setter方法。

4.如果有必要,重写Object类中的equals方法和hashCode方法

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
翻开api 找到Strng  你发现他是用final修饰的类.因此你懂得什么是final就懂得为何String 不可变了.api是超级大师写出来的.无人比他的注释更有权威性.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马