2023学年完整公开课版final变量_第1页
2023学年完整公开课版final变量_第2页
2023学年完整公开课版final变量_第3页
2023学年完整公开课版final变量_第4页
2023学年完整公开课版final变量_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

final变量2学习目标知识目标final变量01能力目标掌握final成员变量的使用掌握final局部变量的使用02final变量3final关键字可用于修饰类、变量和方法,用于表示修饰内容不可改变。final修饰变量时,表示该变量一旦获得了初始值就不可改变。final即可以修饰成员变量(包括类变量和实例变量),也可以修饰局部变量、形参。final成员变量final局部变量final成员变量4成员变量是随着类初始化或对象初始化而初始化的。类变量:在类初始化时,系统会为该类的类变量分配内存,并分配默认值。也就是在定义时、或静态初始化块中可以对类变量赋初始值。实例变量:在创建对象时,系统会为该对象的实例变量分配内存,并分配默认值。也就是在定义时、或普通初始化块、构造器中可以对实例变量赋初始值。final成员变量5对于final修饰的成员变量,一旦有了初始值,就不能被重新赋值。若在使用之前没有赋初始值,那么这些成员变量的值将一直是系统默认分配的0、‘\u0000’、false或null,这些成员变量也就失去了存在的意义。

final修饰的成员变量必须由程序员显式地指定初始值。final成员变量6final修饰符的类变量、实例变量能指定初始值的地方:类变量:必须在静态初始化块中指定初始值或者声明该类变量时指定初始值,而且只能在两个地方的其中之一指定。实例变量:必须在非静态初始化块、声明该实例变量或构造器中指定初始值,而且只能在三个地方的其中之一指定。

final修饰的成员变量必须由程序员显式地指定初始值。public

classFinalVariableTest{//定义成员变量时指定默认值,合法final

int

a=6;//下面变量将在构造器或初始化块中分配初始值finalStringstr;final

int

c;final

static

double

d;//既没有指定默认值,也没有在初始化块、构造器中指定初始值,下面定义的ch实例变量是不合法的//finalcharch;//初始化块,可对没有指定默认值的实例变量指定初始值{str="hello";//在初始化块中为实例变量指定初始值,合法//定义a实例变量时已经指定了默认值,不能为a重新赋值,因此下面的赋值语句非法//a=9;}//静态初始化块,可对没有指定默认值的类变量指定初始值static{d=5.6;//在静态初始化块中为类变量指定初始值,合法

}//构造器,可对既没有指定默认值,又没有在初始化块中指定初始值的实例变量指定初始值publicFinalVariableTest(){//如果在初始化块中已经对str指定了初始值,那么在构造器中不能对final变量重新赋值,非法//str="java";c=5;}public

voidchangeFinal(){//d=1.2;//普通方法不能为final修饰的成员变量赋值//ch='a';//不能在普通方法中为final成员变量指定初始值}}final成员变量7示例final局部变量8系统不会对局部变量进行初始化,局部变量必须由程序员显式初始化。如果final修饰的局部变量在定义时没有指定默认值,则可以在后面代码中对该final变量赋初始值,但只能一次,不能重复赋值。如果final修饰的局部变量在定义时已经指定默认值,则后面代码中不能再对该变量赋值。final局部变量9系统不会对局部变量进行初始化,局部变量必须由程序员显式初始化。示例public

classFinalLocalVariableTest{public

voidtest(final

int

a){//不能对final修饰的形参赋值,下面语句非法//a=5;}public

static

voidmain(String[]args){//定义final局部变量时指定默认值,则str变量无法重新赋值finalStringstr="hello";//下面赋值语句非法//str="Java";//定义final局部变量时没有指定默认值,则d变量可被赋值一次final

double

d;d=5.6;//第一次赋初始值,成功//对final变量重复赋值,下面语句非法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论