目录
public class Main {
final修饰变量
* 变量有且仅能被赋值一次
* 变量存储的值不能被改变
- 变量的类型:
- 局部变量
- 成员变量
- 静态成员变量
- 实例成员变量
静态成员变量赋值
public static final String a="final静态成员变量的值"; public static final String b2; static{ b2="b"; b2="c";//二次赋值报错 }
实例成员变量赋值
private final String c="final实例成员变量的值"; public static void main(String[] args) {Final实例成员变量的使用
Main m=new Main(); System.out.println(m.c);//final实例成员变量的值 m.c="d";//二次赋值报错
局部变量赋值
final String azai; azai = "final局部变量的值"; azai = "aaaa";//第2次赋值报错
fianl修饰方法,方法不能被重写
class Test{ public void Azai(){ System.out.println("final方法不能被重写"); } } class A extends Test{ public void Azai(){ super.Azai("我想重写fianl");//重写FINAL方法报错 } }
fianl修饰类,类不能被继承
final class Test2{} class B extends Test2{}//继承报错
final的使用:
//使用1:固定一个变量的值
final double pi=3.141593;//使用2:防止某个值在使用过程中被更改
public static void Circle(final double pi){ int r=3; double S=pi*r*r; }