final

什么是final

       final意思是最终的、不可更改的,也就是说这个关键字所修饰的变量、方法、类都是不可修改的。

 

为什么要有final

       有时候我们需要一个永不改变的编译时常量(比如说Π:3.1415)或者一个在运行时被初始化后就不希望再改变的值。

       还有最重要的一点:有效的“关闭”动态绑定,即多态。

 

怎么用final

       常用情况:

           final可以修饰变量、方法和类

                1、当final修饰变量时

                           若此变量为基础类型,此变量变为常量,只能被赋值一次。

                           若此变量为对象引用,则引用初始化指向一个对象后,就无法再把它改为指向另一个对象,而对象自己是可以被修改的。

 

               2、当final修饰方法

                          方法不可以被覆盖。

       

               3、当final修饰类

                           此类不可以被继承,类中所有方法都隐式指定为final。

 

 

       其他情况:

       1、空白final

              空白final是指被声明为final但又未给定初值的域。

无论什么情况,编译器都确保空白final在使用前必须被初始化。

              必须在域的定义处或者每个构造器中用表达式对final进行赋值,空白final为final的使用提供了很大的灵活性。

 

       2、final参数

           Void test(final T t){

            }

            这就意味着无法在方法中更改参数引用所指向的对象,这一特性主要用来向匿名内部类传递数据。

 

             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值