final关键字修饰:类,方法,基本类型变量,引用,具有不同的意思
1.final修饰类
表示该类不能被继承
package property;
public final class Hero extends Object{
String name;
float hp;
}
public class ADHero extends Hero{
//会报错
}
2.final修饰方法
表示该方法不能被重写
package property;
public class Hero extends Object{
String name;
float hp;
float armor;
int moveSpeed; pubic final void useItem(Item i){
System.out.println("hero use item");
i.effect();
}
}
public class ADHero extends Hero{
public void useItem(Item i){//报错,无法重写final method
System.out.println("ADHero");
}
}
3.final修饰变量
表示该变量只有一次赋值机会
package property;
public class Hero extends Object{
String name;
float hp;
float armor;
int moveSpeed; public static void main(String[] args){
final int hp;
hp=5;
hp=6;//不能给hp在赋值了
}
}
4.final修饰引用
表示该引用只有一次指向对象的机会。
package property;
public class Hero extends Object{
String name;
float hp;
float armor;
int moveSpeed; public static void main(String[] args){
final int hp;
hp=5;
hp=6;//不能给hp在赋值了 final Hero h;
h=new Hero();
h=new Hero();//报错,h不能再一次指向对象了
}
}