二零二三年 优质公开课final变量.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
final变量北京电子科技职业学院 目录Part 01教学目标Part 02教学内容Part 04巩固提高ContentsPart 03教学总结 Part 01教学目标 教学目标知识目标final变量01能力目标掌握final成员变量的使用掌握final局部变量的使用02 Part 02教学内容 1. final变量final关键字可用于修饰类、变量和方法,用于表示修饰内容不可改变。final修饰变量时,表示该变量一旦获得了初始值就不可改变。final即可以修饰成员变量(包括类变量和实例变量),也可以修饰局部变量、形参。final成员变量final局部变量 2. final成员变量成员变量是随着类初始化或对象初始化而初始化的。类变量:在类初始化时,系统会为该类的类变量分配内存,并分配默认值。也就是在定义时、或静态初始化块中可以对类变量赋初始值。实例变量:在创建对象时,系统会为该对象的实例变量分配内存,并分配默认值。也就是在定义时、或普通初始化块、构造器中可以对实例变量赋初始值。对于final修饰的成员变量,一旦有了初始值,就不能被重新赋值。若在使用之前没有赋初始值,那么这些成员变量的值将一直是系统默认分配的0、‘\u0000’、false或null,这些成员变量也就失去了存在的意义。 final修饰的成员变量必须由程序员显式地指定初始值。 2. final成员变量final修饰符的类变量、实例变量能指定初始值的地方:类变量:必须在静态初始化块中指定初始值或者声明该类变量时指定初始值,而且只能在两个地方的其中之一指定。实例变量:必须在非静态初始化块、声明该实例变量或构造器中指定初始值,而且只能在三个地方的其中之一指定。 final修饰的成员变量必须由程序员显式地指定初始值。 2. final成员变量示例public class FinalVariableTest { // 定义成员变量时指定默认值,合法 final int a = 6; // 下面变量将在构造器或初始化块中分配初始值 final String str; final int c; final static double d; // 既没有指定默认值,也没有在初始化块、构造器中指定初始值,下面定义的ch实例变量是不合法的 //final char ch; // 初始化块,可对没有指定默认值的实例变量指定初始值 { str = hello; // 在初始化块中为实例变量指定初始值,合法 // 定义a实例变量时已经指定了默认值,不能为a重新赋值,因此下面的赋值语句非法 // a = 9; } // 静态初始化块,可对没有指定默认值的类变量指定初始值 static { d = 5.6; // 在静态初始化块中为类变量指定初始值,合法 } //构造器,可对既没有指定默认值,又没有在初始化块中指定初始值的实例变量指定初始值 public FinalVariableTest() { // 如果在初始化块中已经对str指定了初始值,那么在构造器中不能对final变量重新赋值,非法 // str = java; c = 5; } public void changeFinal() { // d = 1.2; // 普通方法不能为final修饰的成员变量赋值 // ch = a; // 不能在普通方法中为final成员变量指定初始值}} 3. final局部变量系统不会对局部变量进行初始化,局部变量必须由程序员显式初始化。如果final修饰的局部变量在定义时没有指定默认值,则可以在后面代码中对该final变量赋初始值,但只能一次,不能重复赋值。如果final修饰的局部变量在定义时已经指定默认值,则后面代码中不能再对该变量赋值。 3. final局部变量系统不会对局部变量进行初始化,局部变量必须由程序员显式初始化。示例public class FinalLocalVariableTest { public void test(final int a) { // 不能对final修饰的形参赋值,下面语句非法 // a = 5; } public static void main(String[] args) { // 定义final局部变量时指定默认值,则str变量无法重新赋值 final String str = hello; // 下面赋值语句非法 // str = Java; // 定义final局部变量时没有指定默认值,则d变量可被赋值一次 final double d; // 第一次赋初始值,成功 d = 5.6; /

文档评论(0)

培优教育 + 关注
实名认证
文档贡献者

从事中小学专业高端辅导20年,特级教师。

1亿VIP精品文档

相关文档