我有点好奇它是如何发生的?
getter和setter是实例级方法,除非对象创建完成,否则它们不在内存中.
在代码片段中,我使用setter来初始化对象状态,构造函数如何获取对应用setter的对象的引用?
主要的困惑是对象创建完成的确切点是什么?
public class Solution {
private String name;
private int age;
private float weight;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public float getWeight() {
return weight;
}
public void setWeight(float weight) {
this.weight = weight;
}
Solution() {
setName("Sachin");
setAge(21);
setWeight(76);
}
public static void main(String[] args) {
Solution objectReference = new Solution();
System.out.println(objectReference);
}
@Override
public String toString() {
return "name= " + name + "\n age= " + age + "\n weight= " + weight;
}
}
Run Code Online (Sandbox Code Playgroud)
The*_*ind 10
getter和setter是实例级方法,除非对象创建完成,否则它们不在内存中. - 谁告诉你这个?在加载类时加载方法.所以,setX和getX方法将已经在JVM的方法区可当你建设(实例)正在发生的事情.
您可以通过获取测试此class的Solution创建任何实例,然后让通过其所有的方法之前,反射和调用它们(你可能会得到一个异常,但你可以调用它们:P)