Java基础-----final关键字

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuming226/article/details/85058585
final概述

final可以修饰类,方法和变量。

特点

(1)final可以修饰类,该类不能被继承。
(2)final可以修饰方法,该方法不能被重写。
(3)final可以修饰变量,该变量不能被重新赋值。因为这个变量为常量。

final修饰局部变量的问题

基本数据类型:基本数据类型的值不能发生改变。
引用数据类型:引用数据类型的地址值不能发生改变,但是,该对象的堆内存的值是可以改变的。

package duixiang;


class StudentTest {
	int age = 10;
}

public class FinalTest {
	public static void main(String[] args) {
		//局部变量是基本数据类型
		int x = 100;
		x = 1000;
		System.out.println(x);
		final int y = 10;
		//无法为最终变量y分配值
		//y=100;
		System.out.println(y);
		System.out.println("-----------------");
		//局部变量是引用数据类型
		StudentTest s = new StudentTest();
		s.age = 100;
		System.out.println(s.age);
		
		final StudentTest s1 = new StudentTest();
		s1.age = 300;
		System.out.println(s1.age);
		
	}
}

执行结果如下:
在这里插入图片描述

final修饰变量的初始化时机

(1)被final修饰的变量只能赋值一次。
(2)再构造方法完毕前。(非静态的常量)

猜你喜欢

转载自blog.csdn.net/yuming226/article/details/85058585