百科问答小站 logo
百科问答小站 font logo



SecureRandom的nextInt()继承自Random,为什么他就比Random安全? 第1页

  

user avatar   s.invalid 网友的相关建议: 
      

经典误解了。


其实继承的意思仅仅是“接口兼容”,但里面就另起炉灶了。

继承,仅仅是告诉编译器,我可以完全替代被我继承的那个烂货——所以用户之前用了Random,现在要改成SecureRandom的话,只要把new Random改成new SecureRandom就行了,其他都不需要动。


实现继承有百害而难有一利,所以用起来必须谨慎,“优先使用组合而不是继承”。

换句话说,看到继承,第一时间想到的不是“接口兼容”而是“实现继承”的,都是缺了实践的毒打……




  

相关话题

  如何理解互斥锁、条件锁、读写锁以及自旋锁? 
  买了《阿里巴巴JAVA开发手册》的人,后悔了吗? 
  C# 虽然在语言层面上更胜 Java 一筹,但是这对于占有率真的很重要吗? 
  关于后端程序员写前端用什么框架更好? 
  用 HTTP 数据加密和 HTTPS 有什么区别? 
  360和火绒你们选哪一个? 
  为什么不少人抵制各个手机厂商的反诈系统? 
  乌云 2014 年 02 月爆出的支付宝登录漏洞有何危害,余额宝安全吗? 
  如何看待爱德华·斯诺登揭秘美国政府监听计划 PRISM 的行为?他的命运又将如何? 
  Java 8接口有default method后是不是可以放弃抽象类了? 

前一个讨论
昨天晚上被流浪猫抓伤,伤口很小几乎看不见,但是渗出一点血,需不需打疫苗?
下一个讨论
非系统盘的固态硬盘分区时需要建立msr和esp分区吗?





© 2025-06-26 - tinynew.org. All Rights Reserved.
© 2025-06-26 - tinynew.org. 保留所有权利