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



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

  

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

经典误解了。


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

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


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

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




  

相关话题

  C#/JavaList自定义索引? 
  asp.net mvc FormsAuthenticationTicket 如何防御cookie胁持? 
  木马和病毒有何区别? 
  今年刚考上机械研究生,想着混个毕业,自学三年java毕业转行可行吗? 
  江湖上流传着哪些关于R大RednaxelaFX的黑暗传说? 
  脚本语言是必然趋势,在开发成本面前,其他都是浮云。现在的问题是,把解释语言转成编译语言的转换器,如Java的JIT compiler,你认为最近Facebook开源的JIT PHP编译器及虚拟机,是否可以提供这种可能性? 
  在有能够转化为C、C++、Java的第四代语言Raptor的情况下,为什么还需要C等程序设计语言? 
  同态加密的实现原理是什么?在实际中有何应用? 
  学习java开发,应该重视哪些部分? 
  如何看待阿里云被暂停工信部网络安全威胁信息共享平台合作单位? 

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





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