【Java 基础知识】final关键字修饰类、变量、方法的使用方式与特点

本文详细介绍了Java中的final关键字,包括它修饰类、方法和变量时的特点和使用方式。final关键字确保了类不可被继承,方法不可被重写,以及变量不可被再次赋值。在修饰局部变量和成员变量时,final对基本类型和引用类型有不同的约束。对于引用类型,final只能绑定一个对象,但对象内的成员变量仍可修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

final关键字

0. 前提

继承:子类可以在父类的基础上改写父类的内容。如方法重写
为了避免随便改写一些重要的或者固定的类,提供了final关键字,修饰不可改变内容

1. final修饰的特点

final:不可改变,可以用于修饰类、方法、变量

  • :被修饰的类不可被继承
  • 方法:被修饰的方法不可被重写
  • 变量:被修饰的变量不可被重新赋值

2.final的使用方式

2.1 修饰类:

格式:final class ClassName{ }

public final class String
public final class Math
public final class Scanner

2.2 修饰方法

修饰符 final 返回值类型 方法名(参数列表){ }
如果重写final修饰的方法编译就会报错

2.3 修饰变量

2.3.1 局部变量-基本类型
  • 只能赋值一次,不能再修改
    final int a
    final int b = 20
  final int returncode = new Main(args).execute(out, err);
for (int i = 0; i <10 ; i++) {
  final int c = i;
  System.out.println(c);
}

这样不会报错,因为每次循环都是新的一个变量c

2.3.2 局部变量-引用类型
  • 引用类型的局部变量,被修饰后只能指向一个对象,地址不能更改
  • 对象内部的成员变量值可以修改
    在这里插入图片描述
  final PrintStream err = new PrintStream(System.err, true);

2.3.3 成员变量

成员变量涉及初始化:

  • 显示初始化:
public class User{
	final String USERNAME = "小明";
	private int age = 18
  • 构造方法初始化
public class User{
	final String USERNAME;
	private int age;
	public User(String USERNAME, int age){
		this.USERNAME = username;
		this.age = age;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值