本站首页    管理页面    写新日志    退出


«November 2025»
1
2345678
9101112131415
16171819202122
23242526272829
30


公告

要勇敢面对一切不幸

联系方式

MSN:ideation_shang@hotmail.com
MAIL:ideation_shang@126.com
QQ  :113017429


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:ideation_shang的blog
日志总数:30
评论数量:149
留言数量:0
访问次数:673804
建立时间:2005年4月21日




[java基础]我不是你的儿子----谈java类调用机制
原创空间,  随笔,  软件技术,  电脑与网络

ideation 发表于 2006/11/29 11:20:59

    在java应用当中,我们经常遇到这样一种情况,我们不希望我们的class被其他应用程序调用,我们可以通过sun.reflect.Reflection来实现。下面来看这样一个故事。 从前有两个父亲,Tom 和 Jack ,Tom有一个儿子TomDong,可是Jack想要TomDong当自己的儿子。TomDong由于从小就没有见过父亲,没有办法辨认。Tom很伤心,于是去求太阳神sun想个办法,sun果然厉害,使用魔法将记忆加给了TomDong,于是TomDong就有了辨认父亲的能力。下面让我们来看一下sun的魔法是怎样做到的: //父亲Tompublic class Tom {    public Tom()     {    }    public TomDong getChild()    {        return new TomDong();    }}//父亲Jackpublic class Jack {    public Jack()     {    }    public TomDong getChild()    {        return new TomDong();    }    } //没有记忆的Tom的儿子TomDongpublic class TomDong {    public TomDong()     {        System.out.println("你好父亲!");    }} //测试public class Test{    public static void main(String[] args) {        Tom tom=new Tom();        System.out.println("Tom get TomDong:");        tom.getChild();        Jack jack=new Jack();        System.out.println("Jack get TomDong:");        jack.getChild();    }}运行 输出结果:Tom get TomDong:父亲你好!Jack get TomDong:父亲你好!----------------------------------------------显然 TomDong 不认识自己的父亲 下面是被sun加了记忆的TomDong //有记忆的Tom的儿子TomDongpublic class TomDong {    public TomDong()     {        if (Reflection.getCallerClass(2) == Tom.class)        {            System.out.println("父亲你好!");        }        else        {            System.out.println("坏蛋,我不是你的儿子!");        }    }}运行Test,输出结果 Tom get TomDong:父亲你好!Jack get TomDong:坏蛋,我不是你的儿子! ---------------------------------------------- 本文主要讲解了 sun.reflect.Reflection,0 是getCallerClass自身,1 是class自身,2 是class的调用方,3 根据类加载机制而定如有不明之处,qq 联系我。 尚兴林


阅读全文(3496) | 回复(1) | 编辑 | 精华
 


回复:我不是你的儿子----谈java类调用机制
原创空间,  随笔,  软件技术,  电脑与网络

hewuyan(游客)发表评论于2007/11/13 17:08:35

可不可以多写写java基础的东西


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.417 second(s), page refreshed 144800561 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号