如何在子类中访问父类的变量

时间:2015-02-19 17:50:14

标签: java

我在java中遇到了访问类中变量的问题 例如 我创建了两个类

public class LoginHandler {

     public Void Login() {
          String un = "prob";
     }
}

public class LogoutHandler extends LoginHandler (

     public Void Logout() {
          System..out.print(un);
     }
}

我有一个类LoginHandler这个类包含一个方法。此方法包含一个像un的变量。我有使用LoginHandler的第二类LogoutHandler extedns,我想在Logout类中访问un的变量,我该怎么办?

2 个答案:

答案 0 :(得分:1)

您永远无法访问子类中的变量un,因为变量un是在函数内定义的,而不是该类的字段。

如果将该变量转换为父类的字段,则子类在以下情况下将能够访问:

  1. un的可见性修饰符不是私有的,子类与父类位于同一个包中。

  2. 可见性修饰符受保护或公开,子类位于任何包中。

答案 1 :(得分:0)

如果你的变量un是一个类成员并且至少受到保护,那么是:

public class LoginHandler {
   protected String un;
   public Void Login() {
       un = "prob";
   }
}

public class LogoutHandler extends LoginHandler (

    public Void Logout() {
        System.out.print(un);
    }
 }

但你应该过度思考你的设计我会说