治疗技术焦虑的方法就是学习!

《Thinking in Java》学习笔记-final关键字

Java 李新广 1245℃ 0评论

写在前面

这段时间一直在看《Java编程思想》这本书,说实话,这本书虽然被奉为Java程序员的必读书籍,但是个人感觉书中的语言描述真是晦涩难懂。不过看了之后对补自己的基础还是有很大的帮助的。现在要补的基础都是大学偷的懒啊!!!!!!!

正文

1、首先我们都知道被final修饰的变量,在编译时是不可被改变的。也就是说如果你想设定一个变量在此次程序运行时不被改变,那么你就可以使用final来修饰。例如数据库连接池中连接数量,一般程序起动后就不能再变了。

但是,有一点要搞清楚:final关键字修饰基本类型变量时,这个变量的值不可再被改变,修饰一个对象时,对象的引用不可再改变,但是对象中变量可以被改变。
看例子:


但是如果你想要 执行innerClass = new InnerClass(); 这一句的话,编辑器就会告诉你:Cannot assign a value to final variable ‘innerClass’

2、static final修饰一个变量时,在编译时这个变量就被初始化完成,不会再被改变。

3、Java允许声明一个使用final修饰但没有初始化的变量或者对象,这可以使的被final修饰的变量在不同的对象中使用不同的值,变的更加灵活。但是必须要在使用前进行初始化。既可以在构造方法中对其进行初始化。

4、final修饰方法参数。当方法的参数被final修饰时,方法中不可对这个参数进行修改(基本类型和对象的区别参考第一条)。

5、final修饰方法。类中的private方法都被隐式的加上了final,如果在public方法上加上了final,那么这个方法在子类中不可被覆盖。

转载请注明:大道至简 » 《Thinking in Java》学习笔记-final关键字

喜欢 (2)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址