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不能再一次指向对象了
}
}
04-13 11:37
查看更多