java中final的用法,Java中final是什么意思
如何解决写爬虫IP受阻的问题?立即使用。
Java中的Final是一个关键字,它的含义是不变的。
final数据具体有两个含义:
1.对于基本数据类型,它表示一个永远不会改变的编译时常数。
2.对于普通对象,意味着引用是常量,不能指向另一个对象,但是对象本身可以修改。
因此有以下几个注意点:
1.类中的static final属性表示它占用了一个不能更改的存储空间,必须在声明中初始化,而不能在构造中初始化。
2.类中的最后一个属性,因为它不是静态值,所以每次都可以在构造函数中声明。
注意final声明的属性只能初始化一次!非静态在每个实例中最多初始化一次。静态只能在类创建时初始化一次!
3.对于最终修饰对象(如数组),可以在声明后修改数组,但不能重新指向新数组。
公共类Test_FinalAndStatic {
静态最终int I=1;
final int j;
public Test _ FinalAndStatic(int j){
//i,J只能初始化一次,所以J不能在声明中初始化。
this.j=j
//同时,I只能在声明中初始化,不能在构造中初始化。
}
final int[]is=new int[]{1,2,3 };
final修饰的引用一旦初始化为指向某个对象,就不能更改,但对象本身可以更改。
//is=new int[]{3,2,1 };错误
公共void dois(){
//对象本身是可以改变的
is[0]=4;
system . out . print( is=);
for(int w:is){
system . out . println(w :);
}
}
public void showi(){
system . out . println( I= I);
//我只能占用一个无法改变的存储空间。
//我;错误
//I=5;错误
}
public void showj(){
system . out . println( j= j);
//j;错误
//j=2;错误
}
@覆盖
公共字符串toString(){
dois();showi();showj();
返回null
}
公共静态void main(String[]args){
Test _ FinalAndStatic t1=new Test _ FinalAndStatic(100);
t1 . tostring();
Test _ FinalAndStatic T2=new Test _ FinalAndStatic(200);
T2 . tostring();
}
}结果:
is=4:
2:
3:
i=1
j=100
is=4:
2:
3:
i=1
j=200final参数:
如果消息中的参数由final修饰,则意味着参数引用所指向的对象不能在消息中更改。
final方法:
1.锁定该方法以防止任何继承的类更改其含义,并确保它不会被覆盖。
2.同意编译器将此方法的所有调用改为内联调用,以提高效率。但是,现在已经不提倡了。
3.所有私有方法都被隐式指定为final。既然无法获得私有方法,自然就无法重写。
final类:
不能继承,不能改变,不能有子类。以上是java中final是什么意思的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。