自己写的String类能够被加载吗?

尝试加载自己编写的String类会导致Java应用程序执行失败,这是由于类加载的双亲委托机制。该机制确保系统类优先于用户自定义类加载,避免安全问题和责任混淆。自定义的String类与系统类同名将不被加载,如果在不同包下创建java.lang.String类,也会因主方法参数类型错误导致编译报错。
摘要由CSDN通过智能技术生成

自己写的String类能够被加载吗?

     答:自己尝试了一下, 不能被加载, 如果你引用了自己写的String类, 则该住房那个执行的绿色三角就会消失, 是不能执行的。

 

在上面引入了interview.String、左边的三角形就消失了;  右边没有引入,  就有可执行三角。

为什么呢?这是类加载中的双亲委托机制。

就是说java虚拟机在加载一个类的时候,  应用程序类加载器会委托扩展类加载器加载, 扩展类加载器会委托根加载器加载,  这样做的目的是什么呢?当然是为了保证程序的安全, 它就是要保证你用的和系统类同名的类一定是系统自己提供的, 而不是你自己写的, 如果你要搞个其他类, 你干啥要和系统提供的类同名呢?

这样做的目的就是不想背锅, 你他娘的不要说用了某个外部的String类,然后程序出问题了, 怪jdk的开发人员。。

也就是说你写的类不能与jdk自带的类同名, 同名就不

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值