java中final的应用,Java中final的应用

本文详细介绍了Java中final关键字的三个主要应用:final变量、final方法和final类。对于final变量,无论是成员变量还是局部变量,一旦赋值后不可更改。final方法无法被子类重写,确保了方法的原始行为。最后,final类则不能被继承,提供了类的不可变性。理解并合理使用final关键字有助于提高代码的稳定性和安全性。
摘要由CSDN通过智能技术生成

应用一:用final修饰的变量(包括成员变量和局部变量)将变成常量,且只能、必须在final修饰的地方赋值。

例如:

public calss Penguin{

Final String name=”南极”; //居住地

public void setHome(String name){

this.name=name; //错误,home不可以再次赋值。

}

}

在”this.name=name;”这行会出现红叉,提示错误信息:The final field Penguin.home cannot be assigned,即home不可以再次赋值。

应用二:用final修饰的方法,不能被子类重写。

例如:

public  class  Penguin{

public  final  void  print(){}

}

public  SubPenguin  extends  Penguin{

public  void  print ( ) { } //此行出现错误

}

public  void  print ( ) { }  报错,print()方法不能被子类重写。

应用三:用final修饰的类,不能再被继承。

public  final  class  Penguin{ }

public class SubPenguin extends Penguin{}//此行出现错误

常见错误:

Calss Dog{

String name;

public Dog(String name){

this.name=name;

}

}

class Test{

public static void main(String[] args){

final Dog dog=new Dog(“小一”);

dog.name=”小二”;

dog=new Dog(“小三”);

}

}

可能出错的的代码:(正确代码)“dog.name=”小二”;“和(错误代码)“dog=new Dog(“小三”);”。

分析:使用final修饰引用型变量,变量不可以再指向另外的对象,所以“dog=new Dog(“亚亚”)”是错误的。但是所指对象的内容却是可以改变的,所以“dog.name=”小二”是正确的。

结论:

使用final修饰引用型变量时,变量的值是固定不变的,而变量所指向的对象的属性值是可以改变的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值