Анонимный код остается анонимным , если не назначен, также рассматривайте его как простой блок, так как для блока инициализации вы не ожидаете получить значение снаружи:
public class Child {
{ // initialize block
int y = 9;
}
public static void main(String args[]){
Parent p = new Parent("fcghj");
System.out.println(p.h);
System.out.println(y); // error
}
Вы можете изменить / добавить родительский конструктор с параметром int, чтобы использовать его позже
class Parent{
String h;
int y;
Parent(String s, int y){
h = s;
this.y = y;
}