interface ITest{
void getName();
}
class Test{
this.name=name;
}
Test() { }
public ITest setName
(String name1
){ class Test1 extends Test implements ITest{
super(name1);
}
@Override
public void getName(){
System.
out.
println(this.
name); }
}
return new Test1(name1);
}
}
public class Main {
public static void main
(String[] args
) { Test test= new Test();// Запустится конструктор без параметров, name станет null.
ITest itest= test.setName("Имя"); // Здесь конструктор с параметром, установит переменной name значение "имя";
itest.getName(); // она все еще null.
}
}
aW50ZXJmYWNlIElUZXN0ewogIHZvaWQgZ2V0TmFtZSgpOwp9CgpjbGFzcyBUZXN0ewogICAgcHJpdmF0ZSBTdHJpbmcgbmFtZTsKCiAgICBUZXN0KFN0cmluZyBuYW1lKSB7CiAgICAgICAgdGhpcy5uYW1lPW5hbWU7CiAgICB9CiAgICBUZXN0KCkgeyB9CgogICAgICAgIHB1YmxpYyBJVGVzdCBzZXROYW1lKFN0cmluZyBuYW1lMSl7CiAgICAgICAgICAgY2xhc3MgVGVzdDEgZXh0ZW5kcyBUZXN0IGltcGxlbWVudHMgSVRlc3R7CiAgICAgICAgICAgICAgIFRlc3QxIChTdHJpbmcgbmFtZTEpIHsKICAgICAgICAgICAgICAgICAgIHN1cGVyKG5hbWUxKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgQE92ZXJyaWRlCiAgICAgICAgICAgICAgcHVibGljIHZvaWQgZ2V0TmFtZSgpewogICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbih0aGlzLm5hbWUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBUZXN0MShuYW1lMSk7CiAgICB9Cn0KCnB1YmxpYyBjbGFzcyBNYWluIHsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICBUZXN0IHRlc3Q9IG5ldyBUZXN0KCk7Ly8g0JfQsNC/0YPRgdGC0LjRgtGB0Y8g0LrQvtC90YHRgtGA0YPQutGC0L7RgCDQsdC10Lcg0L/QsNGA0LDQvNC10YLRgNC+0LIsIG5hbWUg0YHRgtCw0L3QtdGCIG51bGwuCiAgICBJVGVzdCBpdGVzdD0gdGVzdC5zZXROYW1lKCLQmNC80Y8iKTsgLy8g0JfQtNC10YHRjCDQutC+0L3RgdGC0YDRg9C60YLQvtGAINGBINC/0LDRgNCw0LzQtdGC0YDQvtC8LCDRg9GB0YLQsNC90L7QstC40YIg0L/QtdGA0LXQvNC10L3QvdC+0LkgbmFtZSDQt9C90LDRh9C10L3QuNC1ICLQuNC80Y8iOwogICAgaXRlc3QuZ2V0TmFtZSgpOyAvLyDQvtC90LAg0LLRgdC1INC10YnQtSBudWxsLgoKICB9Cn0=