【发布时间】:2019-02-23 14:22:30
【问题描述】:
我的主类中有一个私有变量,是否可以在其他类中使用它而不使其成为受保护的变量?
【问题讨论】:
-
“子类”是指子类吗?还是嵌套类?
-
使用 getter 和 setter。
标签: java
我的主类中有一个私有变量,是否可以在其他类中使用它而不使其成为受保护的变量?
【问题讨论】:
标签: java
没有。这就是 private 与 protected 的重点。 the Oracle Java member access tutorial 中的详细信息,其中还包含此表:
【讨论】:
私有成员变量仅限于该类,但是您可以引入 setter 和 getter 方法来访问它们。这是encapsulation 的一部分。
上面的 URL(教程点)的一个例子,我们有 3 个私有值,它们带有 setter 和 getter 方法,可以根据需要检索或设置值:
/* File name : EncapTest.java */
public class EncapTest {
private String name;
private String idNum;
private int age;
public int getAge() {
return age;
}
public String getName() {
return name;
}
public String getIdNum() {
return idNum;
}
public void setAge( int newAge) {
age = newAge;
}
public void setName(String newName) {
name = newName;
}
public void setIdNum( String newId) {
idNum = newId;
}
}
【讨论】: