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

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;
	}
}

Guess you like

Origin blog.csdn.net/weixin_44121966/article/details/119415547