在JAVA中子类如何访问父类中被封装起来的姓名
时间: 2024-10-12 11:13:11 浏览: 34
Java、C++中子类对父类函数覆盖的可访问性缩小的区别介绍
在Java中,子类可以通过两种方式访问父类中被封装起来的私有属性(如姓名):
1. **通过getters和setters方法**: 父类通常会提供公共的getter和setter方法来访问和修改私有变量(比如`getName()`和`setName(String name)`)。子类可以直接调用这些方法来获取或设置父类对象的姓名。
```java
public class ParentClass {
private String name;
// getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
// 子类
public class ChildClass extends ParentClass {
public void accessName() {
String parentName = getName(); // 调用父类的getter方法
// 对parentName进行操作...
}
}
```
2. **构造函数继承**: 如果父类有一个带参的构造函数,子类可以在其构造函数中调用父类的构造函数并将参数传入,间接地初始化父类的私有变量。例如:
```java
public class ParentClass {
private String name;
// 带参数的构造函数
public ParentClass(String name) {
this.name = name;
}
// ...其他代码...
}
ChildClass child = new ChildClass("Parent's Name"); // 子类构造函数传递父类名称
```
子类在这种情况下可以访问到父类的姓名,但这种方式更适用于需要额外初始化的情况。
阅读全文