final和static关键字一
final
1. 被fina修饰的类,不能被继承;
2. 被final修饰的方法,不能被重写;
3. 被final修饰的变量,不能被再次赋值,意思是被final修饰的是常量。
常量:
字面值常量:
- 整型常量:10,
- 小数常量:10.1
- 字符(串)常量:“abdc”
- 布尔常量:true
- 空常量:null
自定义常量:
- 被final修饰的就是自定义常量,这个值不能再被继续赋值,程序每active一次,这个值就是永久固定的了。
- 约定俗成的规则(如何命名final常量):
所有的字母都大写,如果多个单词,中间用下划线隔开;
例如:JAVA_HOME
package final_demo;
public class Demo1 {
public static void main(String[] args) {
int a = 10;
System.out.println(a);
final int b = 10;
// b = 20; //The final local variable b
// cannot be assigned. It must be blank and not using a compound assignment
System.out.println(b);
}
}
final 修饰的数据类型:
基本数据类型:
int, double;
final int/ final double.
引用数据类型
类:类以及类以内的成员变量
数组:ArrayList
package final_demo;
import java.util.ArrayList;
public class Demo2 {
public static void main(String[] args) {
final ArrayList<String> A1_FINAL = new ArrayList<String>();
A1_FINAL.add(" ");
// A1_FINAL = null; //The final local variable A1_FINAL cannot be assigned.
//It must be blank and not using a compound assignment
final ArrayList<String> A2_FINAL = null;
A2_FINAL.add(" ");
A2_FINAL = null; //The final local variable A1_FINAL cannot be assigned.
//It must be blank and not using a compound assignment
//去掉final就可以不报错了。
}
}
接口:

浙公网安备 33010602011771号