final
final:最终的,不可更改的,它的用法有:
1、修饰类
表示这个类不能被继承,没有子类
final class Eunuch{//太监类
}
class Son extends Eunuch{//错误
}
2、修饰方法
表示这个方法不能被子类重写
class Father{
public final void method(){
System.out.println(“father”);
}
}
class Son extends Father{
public void method(){//错误
System.out.println(“son”);
}
}
1
2
3
4
5
6
7
8
9
10
3、声明常量
某个变量如果使用final修饰,那么它的值就不能被修改,即常量
final可以修饰成员变量(静态的类变量和非静态的实例变量)和局部变量
如果某个成员变量用final修饰后,没有set方法,并且必须有显式赋值语句,不能使用成员变量默认值
被final修饰的常量名称,一般都有书写规范,所有字母都大写。
public class Test{
public static void main(String[] args){
final int MIN_SCORE = 0;
final int MAX_SCORE = 100;
}
}
class Chinese{
public static final String COUNTRY = “中华人民共和国”;
private final String BLOODTYPE = “A”;//显示赋值
private final String CARDID;//如果没有显示赋值,必须保证在
private String name;
public Chinese(String cardId, String name) {
super();
this.CARDID = cardId;
this.name = name;
}
public Chinese() {
super();
CARDID = “000000000000000000”;//必须在所有构造器中进行赋值
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//final修饰的没有set方法
public static String getCountry() {
return COUNTRY;
}
public String getCardId() {
return cardId;
}
public String getBloodType() {
return bloodType;
}
}