final修饰的对象咋办?
2019独角兽企业重金招聘Python工程师标准>>>
上代码 ` private static final Logger logger = LoggerFactory.getLogger(ThreadTest.class);
public void test_1(final AuthorizeContractBean bean){new Thread(new Runnable() {[@Override](https://my.oschina.net/u/1162528)public void run() {bean.setBorrowerId("1");logger.info(bean.toString());try {Thread.sleep(20000);} catch (InterruptedException e) {e.printStackTrace();}}}).start();}
[@Test](https://my.oschina.net/azibug)
public void test_2(){for (int i = 0; i < 1000; i++) {AuthorizeContractBean b = new AuthorizeContractBean();if(i % 2 == 0){b.setPlatformNo("aaa");b.setFileUrl("aaa-url");test_1(b);} else {b.setPlatformNo("bbbb");b.setFileUrl("bbb-url");test_1(b);}}
}`
最终输出结果
17:43:43.077 [Thread-5] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='aaa-url', platformNo='aaa'}
17:43:43.075 [Thread-2] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='bbb-url', platformNo='bbbb'}
17:43:43.077 [Thread-4] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='bbb-url', platformNo='bbbb'}
17:43:43.077 [Thread-3] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='aaa-url', platformNo='aaa'}
17:43:43.075 [Thread-1] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='aaa-url', platformNo='aaa'}
17:43:43.077 [Thread-6] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='bbb-url', platformNo='bbbb'}
17:43:43.078 [Thread-7] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='aaa-url', platformNo='aaa'}
17:43:43.079 [Thread-8] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='bbb-url', platformNo='bbbb'}
17:43:43.079 [Thread-9] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='aaa-url', platformNo='aaa'}
17:43:43.079 [Thread-10] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='bbb-url', platformNo='bbbb'}
17:43:43.079 [Thread-11] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='aaa-url', platformNo='aaa'}
17:43:43.079 [Thread-12] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='bbb-url', platformNo='bbbb'}
17:43:43.079 [Thread-13] INFO c.i.ups.app.contract.Test.ThreadTest - AuthorizeContractBean{borrowerId='1', fileUrl='aaa-url', platformNo='aaa'}
说明bean对象的值是可以被改变的。
但是bean不能被重新指向别的引用。
总结:final修饰的对象,引用不可被改变,但对象内的值可以被改变。但普通变量只能赋值一次。 参考网址:输入链接说明
转载于:https://my.oschina.net/u/2301293/blog/1799877
final修饰的对象咋办?相关推荐
- Java面试题:final修饰的对象,有几种初始化方式
final修饰的对象初始化时分两种情况: 第一种:修饰成员对象时有3种初始化方式: 1,在定义变量时直接赋值 2,声明完变量后在构造方法中为其赋值 3,声明完变量后在构造代码块中为其赋值 第二种:修饰 ...
- Java中Final修饰对象
Final修饰对象 众所周知,final是java的关键字,修饰符,用于声明属性(属性不可变).方法(方法不可重写)和类(类不可继承),那么final可以修饰对象么,修饰对象又是代表着什么? 先看一个 ...
- final修饰的变量是引用不能改变还是引用的对象不能改变
我们都知道final修饰变量时 会变为常量,但是使 用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 下面让我们来看这段代码: [java] view plain copy /* ...
- java final 类_在Java中,final修饰的类有什么特点
展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...
- 被final修饰的变量在哪存储_final,static,this,super 关键字总结,一点课堂(多岸学院)...
final 关键字 final关键字主要用在三个地方:变量.方法.类. 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变量,则在对其初始化之后便 ...
- Java自学笔记(13):【面向对象】方法覆盖,final关键字,对象转型
方法同名时:方法重载,方法覆盖 同一类内的方法同名:方法重载 子类与父类方法同名:方法覆盖 //在包person下 //Person.java package person;public class ...
- 12. final修饰符
一.final修饰符概述 1. final可以修饰类.变量和方法 2. final修饰的类.变量和方法不可改变 二.final成员变量 1. 对于final修饰的成员变量而言,一旦有了初始值,就不能被 ...
- 1.19 final修饰符详解
final 在 Java 中的意思是最终,也可以称为完结器,表示对象是最终形态的,不可改变的意思.final 应用于类.方法和变量时意义是不同的,但本质是一样的,都表示不可改变, 使用 final 关 ...
- 【Java】6.4 final 修饰符
目录 final 成员变量 final局部变量 final修饰基本类型变量和引用类型变量的区别 可执行"宏替换"的final变量 final方法 final类 不可变类 缓存实例的 ...
- java final 方法重载_java方法重载和覆写的定义,static和final修饰符的讲解,java面试题...
方法重载的规则: 1.必须发生在同一个类的下面 2.必须保证方法名字相同 3.参数列表不同 参数的类型不同 参数的个数不同 参数的顺序不同 4.返回值:和返回值无关 5.修饰符:和修饰符无关 6.抛出 ...
最新文章
- 熔断的意义和适用场景,你真的清楚吗?
- 访问SharePoint站点时,提示:Service Unavailable
- java在线教程_如何自学java-已拿阿里25k offer
- 基于 xilinx vivado 的PCIE ip核设置与例程代码详解
- 关于REST API设计的一些小经验
- foreach和IEnumerable+yield和IEnumerator
- Spring websocket 使用@Autowired 出现null
- 技术动态 | 知识图谱的策展
- psql: FATAL the database system is in recovery解决
- javascript 编译与执行过程
- web在session设置的账户用户名显示为空_海蜘蛛路由Web认证怎么设置 海蜘蛛路由Web认证方法【介绍】...
- 兄弟j220怎么清零_BROTHER 兄弟一体机 复位清除计数器
- 计算机技能大赛备赛计划,技能大赛计划.doc
- python自动发邮件运行正常就是收不到邮件是为什么_Python自动化测试发送邮件太麻烦?!一起聊一聊 Python 发送邮件的3种方式...
- 安卓Tv端App开发与手机端的开发的区别
- Java学习--多线程案例--模拟火车票销售(线程安全问题)
- Excel使用VBA自动调整插入图片大小到单元格
- 极客日报:iPhone13系列9月15日正式推出;微信视频号支持发布1小时视频;Firefox 92正式发布
- java 祖先_java – 家谱祖先查找算法
- 肯塔基大学计算机科学,2020年肯塔基大学排名TFE Times美国最佳计算机科学硕士专业排名第114...