final for java

本文深入探讨了Java中final关键字的使用,包括final数据、static final域、final参数和final方法的概念及其应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java中的final关键字:
final数据:声明一个在运行期间不改变的常量;
一个既是static又是final的域占据着一块永不改变的区域;
对应基本类型,final使数值恒定不变,对应对象引用,final使其引用恒定不变;
也就是说只要声明了final数据类型,那么在程序中就不能改变final的值,如:
public class Test{
      private final int one=90;
      private final String str=new String("shockerjue");
      public Test(){ //.........//  };
      public void change(String h){
	  one=12;	//error ,cann't change one,becuase it is final type //
	  str=h;	//error, cann't change str,because it is final type//
	}
}


如果声明为static + final的话,将是占据了一块不能改变的存储空间;
空白的final:在类中的空白区域就可以做到根据对象而有所不同;但是条件是,必须在每个构造函数中对其进行赋值,这就是final域在使用前总是被初始化的原因所在。
final参数:final参数就像C++中的const参数一样,意味着无法在方法中更改参数引用所指的对象如:
public class Test{
     private final int one;
     Test(){
       one=12;//OK//
     }
     public change(final int i){
       one=90;//error//
	i++;//error//
     }
     public tef(int i){
        i++;//OK//
     }
}



final方法:
final方法主要是为了把方法锁定,禁止继承的类来修改其方法的含义;同时还可以提高效率,也就是将方法指明为final,就是同意编译器对该方法的所以调用都转为内嵌调用;并且类中的所有private方法都会隐式的转为final;


final类:
当某个类被整体定义为final时,就表明了你不打算继承该类,而且也不允许别人这样做,也就是说,你设计的类永不需要做任何变动,也就没必要有子类。





























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值