public class HelloStack{
private String myName;
private int myAge;
private String myHeritage;
HelloStack(String myName, int myAge, String myHeritage){
this.myName = myName;
this.myAge = myAge;
this.myHeritage = myHeritage;
}
然后在我的
main()
中创建一个对象:HelloStack hiGuys = new HelloStack("joseph", 89, "indian");
如果我对这里的参数作用理解正确,我会将值从
hiGuys
传递到构造函数Hellostack
,然后在编译器运行时在构造函数中将它们初始化? 最佳答案
否。首先,创建HelloStack对象:
new HelloStack("joseph", 89, "indian");
然后,对象加载和实例化会发生一些无关紧要的事情。接下来的事情是线程进入构造函数,调用隐式
super()
构造函数,然后一次将字段设置为一个: this.myName = myName;
this.myAge = myAge;
this.myHeritage = myHeritage;
然后,构造函数“返回”新对象。该对象已分配给您的
hiGuys
变量。HelloStack hiGuys =
因此,现在hiGuys具有单个值-该新对象。