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修饰的对象咋办?相关推荐

  1. Java面试题:final修饰的对象,有几种初始化方式

    final修饰的对象初始化时分两种情况: 第一种:修饰成员对象时有3种初始化方式: 1,在定义变量时直接赋值 2,声明完变量后在构造方法中为其赋值 3,声明完变量后在构造代码块中为其赋值 第二种:修饰 ...

  2. Java中Final修饰对象

    Final修饰对象 众所周知,final是java的关键字,修饰符,用于声明属性(属性不可变).方法(方法不可重写)和类(类不可继承),那么final可以修饰对象么,修饰对象又是代表着什么? 先看一个 ...

  3. final修饰的变量是引用不能改变还是引用的对象不能改变

    我们都知道final修饰变量时 会变为常量,但是使 用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 下面让我们来看这段代码: [java] view plain copy /* ...

  4. java final 类_在Java中,final修饰的类有什么特点

    展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...

  5. 被final修饰的变量在哪存储_final,static,this,super 关键字总结,一点课堂(多岸学院)...

    final 关键字 final关键字主要用在三个地方:变量.方法.类. 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变量,则在对其初始化之后便 ...

  6. Java自学笔记(13):【面向对象】方法覆盖,final关键字,对象转型

    方法同名时:方法重载,方法覆盖 同一类内的方法同名:方法重载 子类与父类方法同名:方法覆盖 //在包person下 //Person.java package person;public class ...

  7. 12. final修饰符

    一.final修饰符概述 1. final可以修饰类.变量和方法 2. final修饰的类.变量和方法不可改变 二.final成员变量 1. 对于final修饰的成员变量而言,一旦有了初始值,就不能被 ...

  8. 1.19 final修饰符详解

    final 在 Java 中的意思是最终,也可以称为完结器,表示对象是最终形态的,不可改变的意思.final 应用于类.方法和变量时意义是不同的,但本质是一样的,都表示不可改变, 使用 final 关 ...

  9. 【Java】6.4 final 修饰符

    目录 final 成员变量 final局部变量 final修饰基本类型变量和引用类型变量的区别 可执行"宏替换"的final变量 final方法 final类 不可变类 缓存实例的 ...

  10. java final 方法重载_java方法重载和覆写的定义,static和final修饰符的讲解,java面试题...

    方法重载的规则: 1.必须发生在同一个类的下面 2.必须保证方法名字相同 3.参数列表不同 参数的类型不同 参数的个数不同 参数的顺序不同 4.返回值:和返回值无关 5.修饰符:和修饰符无关 6.抛出 ...

最新文章

  1. 熔断的意义和适用场景,你真的清楚吗?
  2. 访问SharePoint站点时,提示:Service Unavailable
  3. java在线教程_如何自学java-已拿阿里25k offer
  4. 基于 xilinx vivado 的PCIE ip核设置与例程代码详解
  5. 关于REST API设计的一些小经验
  6. foreach和IEnumerable+yield和IEnumerator
  7. Spring websocket 使用@Autowired 出现null
  8. 技术动态 | 知识图谱的策展
  9. psql: FATAL the database system is in recovery解决
  10. javascript 编译与执行过程
  11. web在session设置的账户用户名显示为空_海蜘蛛路由Web认证怎么设置 海蜘蛛路由Web认证方法【介绍】...
  12. 兄弟j220怎么清零_BROTHER 兄弟一体机 复位清除计数器
  13. 计算机技能大赛备赛计划,技能大赛计划.doc
  14. python自动发邮件运行正常就是收不到邮件是为什么_Python自动化测试发送邮件太麻烦?!一起聊一聊 Python 发送邮件的3种方式...
  15. 安卓Tv端App开发与手机端的开发的区别
  16. Java学习--多线程案例--模拟火车票销售(线程安全问题)
  17. Excel使用VBA自动调整插入图片大小到单元格
  18. 极客日报:iPhone13系列9月15日正式推出;微信视频号支持发布1小时视频;Firefox 92正式发布
  19. java 祖先_java – 家谱祖先查找算法
  20. 肯塔基大学计算机科学,2020年肯塔基大学排名TFE Times美国最佳计算机科学硕士专业排名第114...

热门文章

  1. 微信小程序的模块化开发,提高效率第一篇
  2. 移动端双Token免登录(附代码)
  3. Android自定义View入门级
  4. python中for循环遍历文件_Python中的用for,while循环遍历文件实例
  5. 老板平常多说点好听的
  6. 20220729梦笔记
  7. 全网首发:使用安卓MediaCodec Encoder进行编码时的方向问题
  8. 解决办法:configure后,没有更新Makefile
  9. 百度网盘也能BT下载ED2K
  10. HTML的div标记为何设置背景色无效?