是否可以在java中的main方法中从子类访问属性? 例如,在扩展类中,我有一个属性高度和方法:
public String getName()
{
return name;
}
但是我无法从main方法访问该名称。 感谢。
答案 0 :(得分:1)
您必须创建内部Child
类的实例以获取其name
字段,因为main
方法为static
:
public class Parent {
class Child {
String name;
public String getName() {
return name;
}
}
public static void main(String[] args) {
String name = new Parent().new Child().getName();
}
}
getName()
本身不能声明为static
,因为静态方法只能在静态或顶级类型中声明。
答案 1 :(得分:0)
名称是私人会员吗?您只能访问Main中任何类的公共成员(无论它是基类还是子类)。
如果您没有访问该成员但访问方法getName本身,那么
如果在基类中未将name定义为private,则getName()应该有效。如果它是其他任何东西 - 受保护的,公共的或默认的包声明,那么它应该可以工作。