Java final关键字

    1、final关键字可应用于类、方法或变量。一般来说,final关键字的使用限制了进一步的扩展或修改。

    2、final类不能被继承。

    3、final方法不可以在子类中被重写。

                    注意:

                    由于private和static方法不能在子类中被重写,因此他们总是隐式地为final。

           将方法变为final有三大好处

            1.可以显式地防止子类中的方法被重写

            2.final方法会告诉编译器对于final方法的调用不需要动态绑定,这会让代码变得略微高效一些。静态绑定总是比动态绑定高效,因为在动态绑定中,运行时需要解析方法调用

            3.能够带来更好的效率。将方法标记为final可以让编译器将所有对final的方法的调用转变为内联调用。

   4、final变量

        使用final关键字声明的变量被认为是常量。任何在程序中试图改变常量值的操作,都会导致编译时错误;

        final变量不需要在声明时初始化,程序也可以在声明后的其他地方初始化final变量。不过,这样的初始化必须只执行一次。声明时未初始化的final变量叫做空缺final变量。

                        注意:final变量为final关键字的使用提供了更多的灵活性

        警告: 空缺final变量必须在构造函数中进行初始化,因为空缺final变量只在对象生命周期中调用一次。如果final变量在构造函数中初始化,那么必须在所有的重载构造函数中初始化。

5、final类变量

                形如final  类名  变量名=new  类名() ;  

                        如  final   Point  POINT=new Point(0,0);   //参数为坐标值x,y

                final类变量一旦被初始化,就不能被把其他对象赋值给该类对象,final对象总是指向初始化时固定的对象,但是可以修改其属性值。                    

                        如  POINT=new Point(1,2);//非法

                             PONIT.setX(1);

                             POINT.setY(1);   //合法,前提是x,y不是常量(不是final变量)


        

        


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值