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



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

  

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

经典误解了。


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

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


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

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




  

相关话题

  你在阅读源代码或设计文档时,看到哪些惊艳的技巧? 
  为什么当年 Android 选择用 Java 作为开发语言? 
  做一个网页才几千,为什么程序员工资上万? 
  如何看待侯聚森在过去的一年中被人肉骚扰,这种人肉骚扰是否触犯刑律?普通人如何防止他人的人肉骚扰? 
  如何样对DAL(数据访问层)进行单元测试? 
  既然有 HTTP 请求,为什么还要用 RPC 调用? 
  养成哪些上网习惯可以避免泄露重要的个人隐私? 
  《网络安全审查办法》规定掌握超百万用户个人信息运营者赴国外上市必须先申报网络安全审查,透露了哪些信息? 
  为什么总是有人说 Java 啰嗦,却没人说 C++ 啰嗦? 
  要不要从信息安全转到会计? 

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





© 2025-03-22 - tinynew.org. All Rights Reserved.
© 2025-03-22 - tinynew.org. 保留所有权利