黑马程序员技术交流社区
标题:
关于反射的一个小问题
[打印本页]
作者:
冯佩
时间:
2013-2-20 14:09
标题:
关于反射的一个小问题
本帖最后由 冯佩 于 2013-2-20 14:13 编辑
public class Test
{
public static void main(String[] args)throws Exception
{
Demo d = new Demo();
Method method = null;
method = Demo.class.getMethod("method");
method.invoke(d);
}
}
class Demo2
{
public void method()
{
System.out.println("method run");
}
}
class Demo extends Demo2
{
public void function()
{
System.out.println("function run");
}
}
如上代码,用反射通过子类Demo可以得到继承的父类Demo2的method方法,反射是如何在内存中实现这种记忆的?请帮忙分析一下反射对继承在内存中的具体实现。
作者:
杨玲
时间:
2013-2-20 14:18
。。。。那啥,继承。。这并不是什么记忆功能吧,在继承的时候,其实就是在父类的基础上再加上子类的特有属性嘛,大概的内存分配就是:父类空间+子类的空间,根据这个地址分配,难道在反射的时候的区分还会很困难?
作者:
胥文
时间:
2013-2-20 14:41
个人理解:
子类demo继承了父类demo2之后就有了method()的方法
而你通过反射得到的其实就是子类的method()方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2