黑马程序员技术交流社区
标题:
有关静态函数是否可以调用该类中构造函数的问题
[打印本页]
作者:
燕国庆
时间:
2012-10-18 10:36
标题:
有关静态函数是否可以调用该类中构造函数的问题
用static函数调用被声明为private的构造函数
private Soup(){}
public static Soup makeSout()
{
return new Soup();
}
这个函数可以调用上面的构造函数吗???当static 加载到内存中构造函数是不是还没存在在对内存中?
作者:
丁旭
时间:
2012-10-18 10:49
可以调用上面的构造方法.
使用Soup类时,JVM会把Soup.class文件加载到内存的方法区中,包括构造函数的定义、静态方法的定义。
当程序运行调用静态方法时,会把静态方法压栈到栈区并执行。
当程序运行调用构造方法时,会把构造函数压栈到栈区并执行。
作者:
丁旭
时间:
2012-10-18 11:37
补充几句。
因为静态方法中没有this,在方法体中无法直接通过本类对象使用实例属性,也就是说this.属性无法使用,也就是我们常说的静态方法中不能使用非静态属性。
但我们可以通过new一个实例对象来调用实例属性和实例方法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2