我们可以通过子类 修改私有变量吗?
我们可以通过set和get方法使用它,但是如何在子类中修改它们。
答案 0 :(得分:0)
您没有通过子类对父类的private
成员进行直接访问。您可以在父类中使用protected
或public
访问修饰符指定 getters 和 setters ,并更改或读取该private
成员的值通过调用适当的方法 - getter或setter来获取父类。
如何实现这一目标的示例:
class Parent {
private int member;
public void setMember(int member) { // setter
this.member = member;
}
public int getMember() { // getter
return member;
}
}
class Child extends Parent {}
public class TestClass {
public static void main(String[] args) throws IOException {
Child child = new Child();
System.out.println("member = " + child.getMember());
child.setMember(5);
System.out.println("member = " + child.getMember());
}
}
你得到的输出:
member = 0
member = 5
答案 1 :(得分:0)
不,除非使用反射,否则不能修改超类中的私有变量。
访问它们的唯一方法是getter和setter。
答案 2 :(得分:0)
**没有办法从另一个班级改变私人。 你可以改变同一个班级
**
class Parent {
私人价值;
public class Method { 的System.out.println(值++);
}
}