final修饰类时代表这个类不能被继承,类中的成员方法默认是final类型.code
被final修饰的方法不能被继承.对象
该基本类型变量不能再次被赋值.继承
该引用类型变量不能再指向其它对象,即所指向的地址值不能发生变化.但,该对象所包含的内容能够发生改变.字符串
class Person{ public String name; } final Person person = new Person(); //不能将person在指向新的地址:Error:没法为最终变量person 分配值 //person = new Person(); //能够更改person的属性内容 person.name = "helloworld";
被final修饰的字符串在编译器会被当作字符串常量使用.get
String a = "helloworld"; final String b = "hello"; String c = b +"world"; boolean flag = a==c;//为true,fianl所修饰的字符串b在编译器就肯定了值 public String getHello(){ return "hello"; } String d = getHello()+"world"; boolean flag1 = a==d;//false,由于方法在运行期才能肯定返回值