JavaSE基础知识——final关键字

本文详细介绍了Java中的final关键字,包括其用于修饰类、方法和变量的规则。final修饰的类不可被继承,如String、System等;修饰的方法不可被重写,如Object的getClass();修饰的变量成为常量,一旦赋值不可更改。示例代码展示了final在不同场景下的使用,强调了final变量的初始化时机以及在方法参数中的应用。
摘要由CSDN通过智能技术生成


1. 什么是 final 关键字?

  • final:最终的

2. final 关键字的使用规则

  1. final可以用来修饰的结构:类、方法、变量

  2. final 用来修饰一个类: 此类不能被其他类所继承。
    比如:String类、System类、StringBuffer类

  3. final 用来修饰方法:表明此方法不可以被重写
    比如:Object类中getClass();

  4. final 用来修饰变量:此时的"变量"就称为是一个常量

  • final修饰属性: 可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器中初始化
  • final修饰局部变量:
    尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参。一旦赋值 以后,就只能在方法体内使用此形参,但不能进行重新赋值。
  • static final 用来修饰属性:全局常量

3. 参考示例代码

public class FinalTest {
	
	final int WIDTH = 0;   //final修饰属性,显式初始化赋值
	final int LEFT;
	final int RIGHT;
//	final int DOWN;
	
	{   //使用代码块对final修饰的变量进行赋值
		LEFT = 1;
	}
	
	public FinalTest(){  //在构造器中对final修饰的属性进行赋值
		RIGHT = 2;
	}
	
	public FinalTest(int n){
		RIGHT = n;
	}
	
//	public void setDown(int down){
//		this.DOWN = down;   // 方法中不能对final关键字修饰的变量进行赋值,原因为final关键字出生时已被构造器给赋值了
//	}
	
	
	public void doWidth(){
//		width = 20;
	}
	
	
	public void show(){
		final int NUM = 10;//常量
//		NUM += 20;//声明为常量之后就不能再进行赋值操作
	}
	
	public void show(final int num){
//		num = 20;//编译不通过
//使用final修饰形参后,在方法内部只能进行调用,不能进行修改
		System.out.println(num);
	}
	
	
	public static void main(String[] args) {
		
		int num = 10;
		
		num = num + 5;
		
		FinalTest test = new FinalTest();
//		test.setDown(3);
		
		test.show(10);
	}
}


final class FinalA{   //final修饰类:此类不能被其他类所继承
	
}

//class B extends FinalA{  //错误写法
//	
//}

//class C extends String{//String被声明为final类
//	
//}

class AA{
	public final void show(){  // final修饰方法,子类无法重写该方法
		
	}
}

class BB extends AA{
	
//	public void show(){  //父类中show()方法已被final关键字修饰,无法进行重写
//		
//	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值