博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
final关键字
阅读量:6370 次
发布时间:2019-06-23

本文共 812 字,大约阅读时间需要 2 分钟。

Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。可以修饰的对象: final变量、final方法和final类。

         1.  final类不能被继承,没有子类,final类中的方法默认是final的。
         2.  final方法不能被子类的方法覆盖,但可以被继承。
         3.  final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
         4.  final不能用于修饰构造方法。   
         注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。
               final int X=3;
               X=4; //出错
               final标记的成员变量必须在声明的同时或在该类的构造方法中显式赋值,然后才能使用。
               class Test
               {
                     final int X=3;
               }
               或者:
               class Test
               {
                     final int X;
                     Test()
                     {
                           X=3;
                     }
               }
         5. 方法中定义的内置类只能访问该方法内的final类型的局部变量,用final定义的局部变量相当于是一个常量,它的生命周期超出方法运行的生命周期,这种情况的应用,我们已在第三章中讲过。将一个形参定义成final也是可以的,这就限定了我们在方法中修改形式参数的值。
         6. 但这个“常量”也只能在这个类的内部使用,不能在类的外部直接使用。当我们用public static final共同标记常量时,这个常量就成了全局的常量。而且这样定义的常量只能在定义时赋值,即使在构造函数里面也不能对其进行赋值。如:           
            class Xxx
            {
                     public static final int X=3
                     ......

            }

 

转载于:https://www.cnblogs.com/zhouguizong/archive/2012/07/25/2609203.html

你可能感兴趣的文章
Greenplum 逻辑备份增强 - 备份期间不锁metadata(pg_class),不堵塞DDL
查看>>
ES6新特性:var与let区别
查看>>
免费的多平台使用的桌面日程安排软件?
查看>>
Java 实现阿里云直播
查看>>
javascript中的内存管理和垃圾回收
查看>>
Hbase java 常见操作
查看>>
Python网络编程——协程
查看>>
laravel中短信发送验证码的实现方法
查看>>
10月25日云栖精选夜读 | 机器学习高质量数据集大合辑
查看>>
fastjson实例
查看>>
服务器架构
查看>>
【Android学习】Android studio 使用AIDL
查看>>
【20160924】GOCVHelper MFC增强算法(2)
查看>>
阿里云安全肖力:云的六大安全基因助力企业构建智能化安全体系
查看>>
豆瓣阅读报告生成器
查看>>
building with Gulp
查看>>
首个不怕被盗取生物特征的生物识别技术问世
查看>>
Java虚拟机管理的内存运行时数据区域解释
查看>>
OpenPOWER全产业链协同打通大数据Hadoop的再创新轨道
查看>>
阿里巴巴并购安全公司翰海源
查看>>