final修饰类,方法,基本类型变量,引用。

final修饰类

  • final修饰类
package charactor;
//final修饰类
public final class Hero {
    public String name;
    public float hp;
  
    public int damage;
  
    public Hero() {
  
    }
  
    // 增加一个初始化name的构造方法
    public Hero(String name) {
  
        this.name = name;
    }

	// 重写toString方法
    public String toString() {
        return name;
    }
  
}

当Hero被修饰成final的时候,表示Hero不能够被继承。
其子类会出现编译错误
在这里插入图片描述

final修饰方法

  • final修饰方法
package charactor;
public class Hero {
   public String name;
   public float hp;
 
   public int damage;
 
   //final修饰方法
   public final void useItem(){
       System.out.println("hero use item");
   }   
   
   public Hero() {
 
   }
 
   // 增加一个初始化name的构造方法
   public Hero(String name) {
 
       this.name = name;
   }

   // 重写toString方法
   public String toString() {
       return name;
   }
 
}

Hero的useItem方法被修饰成final,那么该方法在ADHero中,不能够被重写。
在这里插入图片描述

final修饰基本类型变量

  • final修饰基本类型变量
package charactor;
public class Hero {
   public String name;
   public float hp;
 
   public int damage;
 
   public static void main(String[] args) {
   	 
   	   //final修饰基本类型变量
       final int hp;
       hp = 5;
       hp = 6;//报错
        
   } 
}

final修饰基本类型变量,表示该变量只有一次赋值机会 。
12行进行了赋值,13行就不可以再进行赋值了

final修饰引用

  • final修饰引用
package charactor;
public class Hero{
   public String name;
   public float hp;
 
   public int damage;
 
   public static void main(String[] args) {
   	 
   	   final Hero h;
       h  =new Hero();
       h  =new Hero();
        
       h.hp = 5;
        
   } 
}

h引用被修饰成final,表示该引用只有1次指向对象的机会。
所以12行会出现编译错误
但是,依然通过h引用修改对象的属性值hp,因为hp并没有final修饰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值