在类Myclass中,类Help作为对象加载,但随后在Help类本身中再次加载。Help类不是加载了两次吗?这样做的原因是什么?
例如:
public class Myclass {
int i;
Object help;
public Myclass() {
help = new Help(); /// help class loaded
}
private Object doSomething(int h) {
Help.getHelp(h);
}
}帮助类:
public class Help(){
Object returnhelp;
int h;
public Help() {
int h=3;
}
public Help getHelp(int y) {
return new Help(y); ///// Help class loaded again ????
}
private add(int y) {
h=+y;
return h;
}
}发布于 2012-11-13 18:43:49
该类不是加载两次,而是两次实例化为对象。
Here是Java教程中的高级视图。
发布于 2012-11-13 18:45:12
首先,您混淆了类加载和类实例化。
此外,您的代码无法编译,因为为了做到这一点
Help.getHelp(h)getHelp(int)必须是静态的:
public static Help getHelp(int y)在这种情况下,您不需要实例化两次。使用静态方法为给定类实例化对象是一个常见的过程,称为factory。
发布于 2012-11-13 18:43:32
Help类只加载一次。但是,您可能正在创建它更多实例。一个是在Myclass构造函数中创建的,另一个是在调用Help.getHelp()方法时创建的。
https://stackoverflow.com/questions/13359245
复制相似问题