final修饰的对象地址不能变,堆空间的保存数据可以变
package com.qfedu.f_final;
class Dog {
String name;
int age;
}
public class Demo2 {
public static void main(String[] args) {
Dog dog = new Dog();
dog.name = "八公";
dog.age = 15;
/*
* final修饰的是dog1,dog1是一个类对象,同时是一个引用数据类型的变量。
* dog1存储数据不可以改变!!!dog1指向不可以改变,但是dog1指向空间
* 中的内容可以改变。
*
* dog1看作你你的房产证,房产证上面的地址是不可以改变的!!!
* 但是房子装修和房产证有关吗?
*/
final Dog dog1 = new Dog();
// dog1能不能操作成员变量???
dog1.name = "骚杰";
dog1.age = 16;
// 能不能修改???
dog1.name = "一杯二锅头";
dog1.age = 20;
Dog dog2 = dog1;
dog2 = new Dog();
// The final local variable dog1 cannot be assigned.
// It must be blank and not using a compound assignment
// dog1 = new Dog();
}
}