Files
javaSE-0113/day11/src/com/inmind/final01/Demo02.java

43 lines
1.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.inmind.final01;
import java.util.Arrays;
/*
final关键字用于修饰局部变量
局部变量:在方法中定义的变量
1.基本数据类型:保存的值真正的值,表示该值赋值之后不能被修改的
2.引用数据类型: 保存的值是地址值。引用数据类型地址不变,所指向的内容可以改变
*/
public class Demo02 {
public static void main(String[] args) {
//基本数据类型被final修饰
final int i = 10;//常量
System.out.println(i);
final int j;//先定义后赋值
j = 20;
System.out.println(j);
System.out.println("---------------------------");
//引用数据类型被final修饰(数组、类、接口)
final int[] arr = {1, 2, 3};//arr中保存的是地址,如果添加了final那就表示arr不能改变也就是地址不能改变
//arr = new int[]{4, 5, 6};//这里改变了arr中的地址不允许的
System.out.println(Arrays.toString(arr));
//只要地址不变,地址对应的堆中空间的值是可以改变的
arr[0] = 4;
arr[1] = 5;
arr[2] = 6;
System.out.println(Arrays.toString(arr));
//创建一个类的对象
final Student s = new Student("张三", 20);//s是一个对象名s是一个引用数据类型保存的是地址
System.out.println(s);
System.out.println(s.getName());
//s = new Student("李四", 22);//这里改变了s中的地址不允许的
s.setName("李四");//只要地址不变,地址对应的堆中空间的值是可以改变的
System.out.println(s);
System.out.println(s.getName());
}
}