一、final关键字

final关键字修饰:类,方法,基本类型变量,引用,具有不同的意思

1.final修饰类

  表示该类不能被继承

package property;
public final class Hero extends Object{
    String name;
    float hp;
}
public class ADHero extends Hero{
    //会报错
}
View Code

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");
    }
}
View Code

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在赋值了
    }
}
View Code

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不能再一次指向对象了
    }
}
View Code
原文地址:https://www.cnblogs.com/drq1/p/8466231.html