day11-final关键字用于修饰局部变量

This commit is contained in:
2026-01-25 14:52:40 +08:00
parent 52dc54a474
commit 880a7bb5a3
2 changed files with 69 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
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());
}
}

View File

@@ -0,0 +1,27 @@
package com.inmind.final01;
public class Student {
String name;
int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}