Java程序 使用构造函数分配和初始化超类成员
在Java中,对象的构造函数是一种特殊类型的方法,用于创建和初始化新的对象。构造函数也可以用于初始化父类的成员变量。本文将介绍如何使用Java构造函数分配和初始化超类成员。
父类和子类
在Java中,可以使用继承来创建一个新的类。新的类被称为子类,而原始类被称为父类。子类可以继承父类的成员变量和方法,并且可以重写父类的方法。让我们看看一个简单的例子,其中子类继承了父类的成员变量和方法。
class Person {
protected String name;
protected int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void printPerson() {
System.out.println("Name: " + name );
System.out.println("Age: " + age );
}
}
class Student extends Person {
private int studentId;
public Student(String name, int age, int studentId) {
super(name, age);
this.studentId = studentId;
}
public void printStudent() {
System.out.println("Student ID: " + studentId );
}
}
public class Main {
public static void main(String[] args) {
Student student = new Student("John", 20, 12345);
student.printPerson();
student.printStudent();
}
}
在上面的代码中,我们定义了一个Person类,它具有name和age成员变量和printPerson()方法。我们还定义了一个Student类,它继承了Person类,并具有studentId成员变量和printStudent()方法。当我们创建一个新的Student对象时,它会自动继承Person类的成员变量并将它们初始化。
使用构造函数初始化父类成员变量
当一个子类继承一个父类时,子类会自动继承父类构造函数。子类的构造函数可以使用super关键字调用父类构造函数,并且还可以传递参数给父类构造函数。这使得我们可以使用构造函数初始化父类成员变量。让我们看看一个例子。
class Parent {
protected int parentVar;
public Parent(int parentVar) {
this.parentVar = parentVar;
}
}
class Child extends Parent {
private int childVar;
public Child(int parentVar, int childVar) {
super(parentVar);
this.childVar = childVar;
}
public void printValues() {
System.out.println("Parent variable: " + parentVar );
System.out.println("Child variable: " + childVar );
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child(10, 20);
child.printValues();
}
}
在上面的代码中,我们定义了一个Parent类,并通过构造函数初始化了parentVar成员变量。我们还定义了一个Child类,它继承了Parent类,并通过构造函数初始化了parentVar和childVar成员变量。在构造函数中,我们使用super关键字调用父类构造函数,以便初始化父类成员变量。
结论
通过使用Java构造函数,我们可以轻松地分配和初始化父类成员变量。本文提供了一个简单的代码示例,用于说明如何使用构造函数初始化父类成员变量。在使用继承创建更复杂的Java程序时,这可以使代码更容易阅读和维护。