我在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的变量,我该怎么办?
答案 0 :(得分:1)
您永远无法访问子类中的变量un
,因为变量un
是在函数内定义的,而不是该类的字段。
如果将该变量转换为父类的字段,则子类在以下情况下将能够访问:
un
的可见性修饰符不是私有的,子类与父类位于同一个包中。
可见性修饰符受保护或公开,子类位于任何包中。
答案 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);
}
}
但你应该过度思考你的设计我会说