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



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

  

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

经典误解了。


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

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


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

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




  

相关话题

  是否有文档支持Java『volatile int i 在执行 i++ 的底层是非原子性的三步』的说法? 
  java为什么不支持泛型数组? 
  为什么说 Java 比 C / C++ 慢? 
  如何系统地自学网络安全? 
  评估内网的web应用意义大吗? 
  有哪些网络安全上的事实,没有一定安全知识的人不会相信? 
  C++ 的什么是 Java 不能取代的? 
  为什么现在大部分密保都是靠手机号确认身份,运营商的SIM卡系统很难被入侵吗? 
  大数据时代下,你是如何进行隐私保护的?面对信息网络安全保护,你有哪些好建议? 
  C# 和 Java 哪个更像 C++? 

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





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