class Parent{
String h;
Parent(String s){
h = s;
}
}
public class Child{
public static void main(String args[]){
Parent p = new Parent("fcghj"){ // anonymous class
private int y = 9;
};
System.out.println(p.h);
System.out.println(p.y); // error
}
}
显示错误:在父级中找不到符号y
如果在父类中未声明y,是否有任何方法可以访问匿名类之外的y?
我们仅仅是为了重载,隐藏和覆盖匿名类中的内容而仅声明在Parent类中存在的那些字段和方法吗?
答案 0 :(得分:0)
匿名代码保持为匿名(如果未分配),也将其视为简单块,因为对于初始化块,您不希望在外部获得值:>
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参数更改/添加Parent构造函数以供以后使用
class Parent{
String h;
int y;
Parent(String s, int y){
h = s;
this.y = y;
}