package p;
class X {
String value;
X field = this;
public X(String value) {
this.value = value;
}
public String m1() {
return value;
}
public String m2() {
return value;
}
public X(X otherX) {
this.value = "created in X::new";
}
public X instanceMethod() {
return new X("created in X::instanceMethod");
}
public X instanceMethod2(X x) {
return new X("created in X::instanceMethod2");
}
public static X staticMethod(X x) {
return new X("created in X::staticMethod");
}
}