Person p=new Person("mike",23);
p.show();
Student s=new Student("mike",23,"学士");
s.show();
}
}
class Person{
String name;
int age;
public Person(String name,int age) {
this.age=age;
this.name=name;}
public void show() {System.out.println("姓名:"+name+"年龄"+age);
}
}
class Student extends Person{
String degree;
public Student(String name,int age,String degree) {super(name,age);
this.degree=degree;
}
public void show() {super.show();
System.out.print("学位:"+degree);}}
为了避免这个问题,您可以在定义构造函数时,指定它的参数列表。例如:
public Person(String name, int age) {
// ...
}
文件 Person.java:
public class Person {
String name;
int age;
public Person(String name, int age) {
this.age = age;
this.name = name;
}
public void show() {
System.out.println("姓名:" + name + "年龄" + age);
}
}
文件 Student.java:
public class Student extends Person {
String degree;
public Student(String name, int age, String degree) {
super(name, age);
this.degree = degree;
}
public void show() {
super.show();
System.out.print("学位:" + degree);
}
}