博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自己写的String类能够被加载吗?
阅读量:4058 次
发布时间:2019-05-25

本文共 657 字,大约阅读时间需要 2 分钟。

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

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

 

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

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

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

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

也就是说你写的类不能与jdk自带的类同名, 同名就不会被加载。

那如果是新开一个project, 创建一个java.lang的package, 然后新建一个String类, 这样行吗

emmm... 这样的话, 如果我们直接创建String类型, 则会直接引用我们写的String类型, 这里最多的一个问题就在于当我们写主方法的时候, 即public static void main(String[] args)时, 这里的String也是引用我们写的类, 所以说系统会检测出主方法不对, 编译报错

虽然我们确定我们写的就是这样, 但是由于引用的String位置错了, 所有还是不行的。

转载地址:http://qnzji.baihongyu.com/

你可能感兴趣的文章
java学习(11)位与进制
查看>>
java学习(12)集合(1)
查看>>
java学习(13)集合(2)
查看>>
java学习(14)集合(3)
查看>>
java学习(15)泛型
查看>>
java学习(16)异常处理
查看>>
java学习(17)图形用户界面(1)
查看>>
java学习(18)图形用户界面(2)
查看>>
java学习(19)图形用户界面(3)
查看>>
java学习(20)图形用户界面(4)
查看>>
java学习(21)事件处理机制(1)
查看>>
java学习(22)线程(1)
查看>>
Python学习一之环境配置
查看>>
Python学习二之PyCharm编程软件配置
查看>>
Python学习三之基础语法
查看>>
【opencv学习笔记】022之霍夫圆变换
查看>>
【积跬步以至千里】合并优盘分区
查看>>
【opencv学习笔记】023之像素重映射
查看>>
【opencv学习笔记】024之直方图均衡化
查看>>
【opencv学习笔记】025之直方图计算 - calcHist函数详解
查看>>