码迷,mamicode.com
首页 > 其他好文 > 详细

final关键字

时间:2017-10-17 20:06:15      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:final

final主要应用于三种情况:数据、方法和类。

一、final数据

    许多编程语言都有某种方法,来向编译器告知一块数据是恒定不变的。有时数据的恒定不变是很有用的,比如:

    1.一个永不改变的编译时常量。

    2.一个在运行时被初始化的值,而你不希望它被改变。

    在Java中,这类常量必须是基本数据类型,并且以关键字final表示。在对这个常量进行定义的时候,必须对其进行赋值。一个既是static有事final的域只占据一段不能改变的存储空间。当对对象应用而不是基本类型运用final时,其含义会有一点不一样。对于基本类型,final使数据恒定不变;而对于对象引用,final使引用恒定不变。一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象。然而,对象其自身确实可以被修改的,Java并未提供使任何对象恒定不变的途径。这个同样适用数组,它也是对象。注意,根据惯例,既是static又是final的域一般用大写表示,并使用下划线分隔各个单词。


二、final方法

    使用final方法的原因是把方法锁定,以防止任何继承类修改它的含义。这是出设计的考虑:想要确保在继承中使方法行为保持不变,并且不会被覆盖

    final和private关键字

    类中所有的private方法都隐式的指定为final的。由于无法取用private方法,所以也就无法覆盖它。可以对private方法添加final修饰词,但这并不能给该方法增加任何额外的意义。


三、final类

    当将某各类的整体定义为final时,就表明了你不打算继承该类,而且也不允许别人这么做。由于final类禁止继承。所以final类中所有的方法都隐式指定为final,因为无法覆盖它们。在final类中可以给方法添加final修饰词,但没有任何意义。


本文出自 “13017115” 博客,请务必保留此出处http://13027115.blog.51cto.com/13017115/1973200

final关键字

标签:final

原文地址:http://13027115.blog.51cto.com/13017115/1973200

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!