黑马程序员技术交流社区
标题:
函数调用
[打印本页]
作者:
黄云南
时间:
2012-3-18 12:23
标题:
函数调用
class Test
{
public static void main(String[] args)
{
Test2 a= new Test2();建立了一个Test2类对象
Test2 b=null;
b.main();
}
}
class Test2
{
public void main()
{
System.out.println("Hello World!");
}
}
复制代码
我new了一个Test2的对象,那么Test2的main()应该就被加载进了方法区,
方法区的内容不是都是共享的吗?所以这样的话b去调用的话就应该没问题啊。
可是运行时报空指针异常?为什么?
作者:
魏群
时间:
2012-3-18 12:31
Test2 b=null; null是一个空引用
声明 b 并指向一个空引用。当然什么都没有了,调用其方法b.main();就出空指针了。
作者:
刘元明
时间:
2012-3-18 12:43
声明一点:Test2中的main()方法只有在被对象调用时才被加载进内存
Test2 b=null;表示你让一个Test2对象b指向null
b.main();肯定会抛异常
你想调用main方法,你用a.main()不就行了,呵呵
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2