0

是否可以在 java 的 main 方法中从子类访问属性?例如,在扩展类中,我有一个属性 height 和一个方法:

 public String getName()
 {
 return name;
 }

但是我无法从 main 方法访问名称。谢谢。

4

2 回答 2

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静态方法,只能在静态或顶级类型中声明。

于 2012-11-10T15:08:28.637 回答
0

name 是私人会员吗?您只能访问 Main 中任何类(无论是基类还是子类)的公共成员。

如果您没有访问成员而是访问方法 getName 本身,那么
如果 name 在基类中未定义为私有,则 getName() 应该可以工作。如果是其他东西——受保护的、公共的或默认的包声明,那么它应该可以工作。

于 2012-11-10T15:07:44.947 回答