final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 final不能用于修饰构造方法。 注意:被final修饰的数据成员在定义时,一定要同时赋初值,不能在程序的其他地方进行修改。否则会出现编译错误。如已有这样的声明“final float PI;”,然后在程序的其他地方有赋值语句PI = 3.12,这是不允许的。 final float PI=3.14f; (但可以初始化对象的时候再赋初值) public class Test3 { final float PI; //PI空白 //PI=3.14f; Test3( ){PI=3.14f;} public static void main(String args[]) { Test3 t=new Test3( ); System.out.println(t.PI); } } final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 一旦给final变量赋初值,值就不能再改变。 final变量定义的时候,可以先声明,而不给初值,这种变量也称为final空白,但是无论什么情况,编译器都确保空白final在使用之前必须被初始化。但是,final空白在final关键字final的使用上提供了更大的灵活性,为此,一个类中的final数据成员就可以实现依对象而有所不同,却有保持其恒定不变的特征。 class Test{ private final String S=final实例变量S; private final int A=100; public final int B=90; public static final int C=80; //可理解为“全局常量”,一旦给值就不可修改,并且通过类名可以访问。 private static final int D=70; public final int E; //final空白,必须在初始化对象的时候赋初值 public Test(int x){ E=x; } public static void main(String[] args) { Test t=new Test(2); //t.B=91; //出错,final变量的值一旦给定就无法改变 //t.C=81; //出错,final变量的值一旦给定就无法改变 System.out.println(t.S); System.out.println(t.A); System.out.println(t.B); System.out.println(Test3.C); System.out.println(Test3.D); //System.out.println(Test3.E); //出错,因为E为final空白,依据不同对象值有所不同.且E不是静态的,不能用类名直接访问。 System.out.println(t.E); Test t1=new Test(3); System.out.println(t1.E); //final空白变量E依据对象的不同而不同 t1.test1(); } public void test1( ){ final int a; //final空白,在需要的时候才赋值 final int b=4; //局部常量--final用于局部变量的情形 a=3; System.out.println(a); System.out.println(b); } } 4. 程序解析 下面是案例3-4的程序代码。 01 //************************************** 02 //案例:3.4 程序名:SimpleCal.java 03 //功能:简单的计算器,可以进行两个整数的加、减、 乘、除运算 04 //***************************************** 05 06 class SimpleCal{ 07 //operand1和operand2保存两个运算数据 08 private int operand1,operand2; 09 //operator保存运算符 10 private char operator; 11 12 SimpleCal( ){} 13 14 //初始化运算式的构造方法 15 SimpleCal(int operand1,char operator,int operand2){ 16 this.
您可能关注的文档
- Java程式语言-10 类别和物件产生.ppt
- 机械电子学-第4章 数字式测量和光栅.pdf
- Java程序 输出和输入.ppt
- Java程序设计-4-范型及枚举.ppt
- Java程序设计-7-继承及接口.ppt
- Java程序设计教程 第一篇.ppt
- 机械设备7-15讲知识点总结.doc
- Java程序设计课件(高晓黎)第4章类和对象.ppt
- 第八讲1 数据库复习.doc
- Java程序设计课件(高晓黎)第7篇AWT支持下的GUI编程.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 交流转辙机道岔动作电流故障曲线分析信号集中监测课件.pptx VIP
- 2025届东北三省三校高三下学期第一次联合模拟考试政治试题(原卷版+解析版).docx VIP
- 养老服务质量检测90项.pdf VIP
- 光谱分析图谱与标志.docx
- 2025新课标中考英语词汇.pdf VIP
- T_CNPHARS 0001-2025 群体药动学药效学分析标准操作规范.pdf VIP
- (2026年)血浆置换及血浆分离吸附护理要点PPT课件.pptx VIP
- 农村狗狗交配的全过程,让你看了有点不可置信.pdf VIP
- 医院培训课件:《死亡医学证明(推断)书》规范填写及死因链基础知识.pptx VIP
- 健康体检表样表最新文档.docx VIP
原创力文档

文档评论(0)