67 lines
2.1 KiB
Java
67 lines
2.1 KiB
Java
package com.inmind.final01;
|
|
|
|
import java.util.Arrays;
|
|
|
|
/*
|
|
final:被它修饰,不能够被改变
|
|
final的4个用法:
|
|
1.修饰类
|
|
2.修饰方法
|
|
3.修饰成员变量
|
|
4.修饰局部变量
|
|
-------------------------------------
|
|
1:
|
|
final关键字用于修饰类:该类就不能被继承
|
|
final与abstract是冲突,不能一起使用
|
|
被final修饰的类,叫“太监类”,"最终类"
|
|
|
|
2:
|
|
final关键字用于修饰方法:该方法就不能被子类重写
|
|
|
|
3:
|
|
final关键字用于修饰局部变量
|
|
局部变量:
|
|
1.基本数据类型:保存的值真正的值,表示该值赋值之后不能被修改的
|
|
2.引用数据类型: 保存的值是地址值。引用数据类型地址不变,所指向的内容可以改变
|
|
|
|
4:
|
|
final关键字用于修饰成员变量
|
|
注意:被final修饰成员变量,必须【手动赋值】
|
|
*/
|
|
public class Demo01 {
|
|
public static void main(String[] args) {
|
|
final int i = 10;//基本数据类型
|
|
//i = 20;//被final修饰的变量不能修改,它已经成为了常量
|
|
System.out.println(i);
|
|
System.out.println("-------------------------");
|
|
//引用数据类型
|
|
final int[] arr = {1, 2, 3};//arr中保存的是地址
|
|
System.out.println(arr);
|
|
System.out.println(Arrays.toString(arr));
|
|
//引用数据类型: 保存的值是地址值。引用数据类型地址不变,所指向的内容可以改变
|
|
//修改数组的内容
|
|
arr[0] = 10;
|
|
arr[1] = 20;
|
|
arr[2] = 30;
|
|
System.out.println(arr);
|
|
System.out.println(Arrays.toString(arr));
|
|
|
|
//对于类呢???也是一样的!!!!
|
|
final Student s = new Student("张三", 18);
|
|
System.out.println(s);
|
|
System.out.println(s.name);
|
|
System.out.println(s.age);
|
|
System.out.println("------------修改final修饰的对象的内容-------------");
|
|
s.name = "王五";
|
|
s.age = 20;
|
|
System.out.println(s);
|
|
System.out.println(s.name);
|
|
System.out.println(s.age);
|
|
//s = new Student("张三", 18);对final修饰的引用数据类型对象不能重新赋值
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|