[Java]java子类中如何访问和修改父类成员
程序员文章站
2022-04-16 12:43:31
...
根据父类成员的访问权限修饰词分为两种情况:
①父类成员域由private修饰,那么在子类中不能直接访问父类成员域,但是可以通过父类中的公共方法访问以及修改父类成员域。如:
class FatherClass{
private int a;
public int geta(){ return a;}
public void seta(int a){this.a=a;}
}
则在子类中可以通过geta获得父类的成员域的值,通过seta修改父类成员域的值
②父类成员由public或protected或default(不写访问权限修饰词),在子类中可以直接访问父类成员域,可以修改继承的父类成员域,但是不能直接修改父类本身的成员域(可以通过上面所说的public void seta(int a){this.a=a;}对父类本身的成员域进行修改),以下是示例代码:
运行结果:
父类本身的a与子类从父类继承的a占据两个不同的独立的存储空间,在继承之后,他们的值互不相干(继承的时候进行值传递),这样可以避免因为子类中的操作而导致对父类的a的值进行预期结果之外的修改
推荐阅读
-
Java -- 父类和子类拥有同名的成员变量的情况
-
[Java] 父类和子类拥有同名的成员变量(fields)的情况
-
Java中子类是否会继承父类中的private成员
-
Java中子类是否会继承父类中的private成员
-
Java中父类和子类代码执行顺序
-
Java中父类和接口或接口和接口中出现同名属性或同名同参数方法时,如何区分(全文干货)
-
[Java] 父类和子类拥有同名的成员变量(fields)的情况
-
[Java]java子类中如何访问和修改父类成员
-
Java中变量之局部变量、本类成员变量、父类成员变量的访问方法
-
Java中父类和接口或接口和接口中出现同名属性或同名同参数方法时,如何区分(全文干货)