是否可以在 java 的 main 方法中从子类访问属性?例如,在扩展类中,我有一个属性 height 和一个方法:
public String getName()
{
return name;
}
但是我无法从 main 方法访问名称。谢谢。
是否可以在 java 的 main 方法中从子类访问属性?例如,在扩展类中,我有一个属性 height 和一个方法:
public String getName()
{
return name;
}
但是我无法从 main 方法访问名称。谢谢。
您必须创建内部类的实例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
静态方法,只能在静态或顶级类型中声明。
name 是私人会员吗?您只能访问 Main 中任何类(无论是基类还是子类)的公共成员。
如果您没有访问成员而是访问方法 getName 本身,那么
如果 name 在基类中未定义为私有,则 getName() 应该可以工作。如果是其他东西——受保护的、公共的或默认的包声明,那么它应该可以工作。