final关键字代表最终、不可改变的
常见四种用法: 1. 可以用来修饰一个类(不能有任何子类) 2. 可以用来修饰一个方法(最终方法,不能被覆盖重写) 3. 还可以用来修饰一个局部变量 (对于基本类型来说,不可变说的是变量当中的数据不可改变 对于引用类型来说,不可变说的是变量当中的地址值不可改变) 4. 还可以用来修饰一个成员变量 成员变量具有默认值,所以用了final之后必须手动赋值,不会再给默认值。 对于final的成员变量,要么使用直接赋值,要么通过构造方法赋值。 string是一个final类,代表不可变的字符序列//string类的使用
public class stringtest {
public void test1(){
String s1="abc";
String s2="abc";
s1="hello";
System.out.println(s1);//abc
System.out.println(s2);//hello
System.out.println("*****************");
String s3="abc";
s3+="def";
System.out.println(s3);//abcdef
System.out.println(s2);
System.out.println("*****************");
}
}
暂时代替
String:字符串,使用一对""引起来表示。
1.String声明为于final的,不可被继承
2.String实现了Serializable接口:表示字符串是支持序列化的
实现了Comparable接口:表示String可以比较大小
3.String内部定义了final char[ ] value用于存储字符串数据
4.String:代表不可变的字符序列。简称:不可变性。
体现:
1.当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值
2.当对现有的字符串进行连接操作时,也需要重新指定内存区域赋值,不能使用原有的value进行赋值
3.当调用String的replace()方法修改指定字符或字符串时,也需要重新指定内存区域
5.通过字面量的方式(区别于new〉给一个字符串赋值,此时的字符串值声明在字符串常量池中。
6.字符串常量池中是不会存储相同内容的字符串的。