A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李俊豪 中级黑马   /  2012-11-3 22:42  /  1619 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李俊豪 于 2012-11-4 21:55 编辑

能不能自己写个类,也叫java.lang.String?

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

4 个回复

倒序浏览
当然可以,不过在类加载的时候,要用自己的类加载器。而且要摆脱java中的类加载机制。
java在加载类的时候,总是会将加载类的任务,往上传递给父加载器,如果父加载器还有父亲,就还往上传递。
直到BootStrap为止。而在我们程序中加载的java.lang.String是rt.jar中,是由BootStrap加载的。我们想要加载
自己的类。就得自己创建类加载器来加载。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
不能 你可以模拟实现 写一个java类继承String 然后重写String本身的所有方法

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 杨华东 于 2012-11-4 01:06 编辑

String类被final修饰后,被节育了。
string类没有子类没有娃娃。。。。
你就别想啦,除非你是java语言架构师。。。
不过呢,可以模拟,效果肯定不行哒。。。。目前来说模拟的效率都不高。。。。。因为你用的语言肯定不是“java原型语言”。。。。
如果你能用“java原型语言”进行设计,那您可就是绝对的高手了。
注意:“java原型语言”,我认为是底层的一些东西,,,就想sun公司造了一个Object(上帝)类一样,纯粹的底层人为机制造出来的。。。

上面是我的见解,有不足之处请您谅解。。。
回复 使用道具 举报
张忠豹 发表于 2012-11-3 23:10
当然可以,不过在类加载的时候,要用自己的类加载器。而且要摆脱java中的类加载机制。
java在加载类的时候 ...

精辟                     
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马