Java(六) final用法实例讲解
来源:互联网 发布:nginx 页面状态码修改 编辑:程序博客网 时间:2024/06/06 18:12
Final
final关键字的用法:
1. final关键字修饰一个基本类型的变量时,该变量不能重新赋值,第一次的值为最终的。
2. fianl关键字修饰一个引用类型变量时,该变量不能重新指向新的对象。
3. final关键字修饰一个函数的时候,该函数不能被重写。
4. final关键字修饰一个类的时候,该类不能被继承。
正如以上描述所讲,用途就是为四个,基本变量,引用变量,函数,类,
但是理论归理论,看几个例子
1
final int i =1;i=2; //这个如果再要修改java编译器会报错的
2
3
如果没有final就可以继承
对比两幅图片发现,当我们一个父类的方法添加final以后,子类便无法继承。
4
通过这里发现验证我们的理论是正确的。
其实更多的时候并不是在这几种情况使用final,有一种情况是当我们在一个函数的参数中使用final,
例如。
public void showUpgradeDialog(final UpdateBean bean) {} public void showUpgradeDialog(final int bean) {}
这里需要分两种情况,如果为基本类型,自然是不能修改bean的,也符合上面我们总结的,但是
如果是引用类型的呢?
仔细想想,java中传参类型,无非就两种,1 引用类型 2 值传递,其实本质都是值传递,不过引用是复制的
内存地址,那么bean的对象是不能修改,但是对象里面的属性值还是可以修改的,好比女的有个老公,老公是固定的,老公的职业是可以变化的。
那我们为什么要用final呢?个人理解为函数是入参,防止参数被修改,算是java语法的一个预防程序员的错误。
java又不像c语言,传入参数的改变会更改调用方法的内存。
总结,参数的final仅仅只是为了防止参数再函数内被更改。
1 0
- Java(六) final用法实例讲解
- BCDEDIT用法实例讲解
- synchronized 用法,实例讲解
- 实例讲解ArrayList用法
- 实例讲解ArrayList用法
- java中final关键字讲解
- 【JAVA】java中CountDownLatch的用法,实例讲解
- 【JAVA】java中CyclicBarrier的用法,实例讲解
- java中final用法
- java中的final用法
- java基础--final用法
- java基础--final用法
- java final的用法
- Java final用法小结
- JAVA学习--final用法
- java final的用法
- java final的用法
- Java中final用法
- 【实务附案例】有关电子合同的法律问题全解
- laravel中pipeline中间件调用
- Java反射(二)----- 动态加载类
- 设计模式之抽象工厂(C++实现)
- linux 中断机制的处理过程
- Java(六) final用法实例讲解
- spring data jpa分页查询
- HDOJ 2089 不要62
- Lambda Functions in C++11
- 面试题:求任意时间分针和时针之间的度数
- 大数据生态之开源工具简介
- 用FileWriter 和FileReader实现文本文件的复制
- php 简单配置命令
- AVFoundation 编程指南 mark to memorize