在Java中,当一个子类继承了一个父类(超类)时,它们之间可以共享数据。这意味着子类可以访问父类中的公共(public)和保护(protected)成员变量和方法。这种数据共享是通过继承机制实现的。
以下是一个简单的例子来说明Java中父类和子类之间的数据共享:
// 父类(超类)
public class Person {
public String name;
protected int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void displayInfo() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
}
// 子类
public class Student extends Person {
private String school;
public Student(String name, int age, String school) {
super(name, age); // 调用父类的构造方法
this.school = school;
}
public void displayInfo() {
super.displayInfo(); // 调用父类的displayInfo()方法
System.out.println("School: " + school);
}
}
// 主类
public class Main {
public static void main(String[] args) {
Student student = new Student("John", 20, "ABC University");
student.displayInfo(); // 输出学生的姓名、年龄和学校
}
}
在这个例子中,Student类继承了Person类。因此,Student类可以访问Person类中的name和age成员变量,以及displayInfo()方法。当我们创建一个Student对象并调用displayInfo()方法时,它会输出学生的姓名、年龄和学校。
需要注意的是,如果父类中的成员变量或方法是私有的(private),那么子类将无法直接访问它们。在这种情况下,可以使用父类提供的公共(public)或受保护(protected)方法来访问这些私有成员。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。