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



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

  

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

经典误解了。


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

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


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

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




  

相关话题

  Gmail不允许异地登陆真的是为了保护用户安全吗? 
  如何去阅读并学习一些优秀的开源框架的源码? 
  如何看待拼多多被曝删除用户本机照片,工作人员回应称:「没删除,可补偿 30 元代金券」? 
  一个浮点数到底是怎么被转换为字符串输出?一个浮点数不精确,那么其输出的值是怎么被确定的呢? 
  如何看待2022年秋招Java后端开发岗一片红海? 
  ActiveX 到底差在哪? 
  重载 Throwable.fillInStackTrace() 方法以提高Java性能这样的做法对吗? 
  甲骨文诉谷歌案,法院裁决 Java API 受版权保护,这是破坏性先例吗? 
  课堂上传纸条如何防范中间人攻击? 
  作为安全工程师你收到过哪些奇葩的私信? 

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





© 2025-02-16 - tinynew.org. All Rights Reserved.
© 2025-02-16 - tinynew.org. 保留所有权利