父类无构造方法时,子类调用系统默认的那个无参的构造方法,即使你不写super();子类实际也调用了。内存中当你NEW出一个子类对象时里含有一个父类的对象。比如:
class Person
{
private String name;
Person(String name){
this.name = name;
}
public String getName()
{
return name;
}
public void setName(String name){
this.name = name;
}
public void getAll(Person p){
System.out.println("name="+p.getName());
}
}
class Student extends Person
{
private int age;
Student(String name, int age){
super(name);
this.age = age;
}
public int getAge()
{
return age;
}
public void setAge(int age){
this.age = age;
}
public void getAll(Student s){
System.out.println("name="+s.getName()+"\n"+"age="+s.getAge());
}
}
public class TestStudent
{
public static void main(String[]args){
Person p = new Student("yzb",18);
p.getAll(p);
Student s = (Student)p;
s.getAll(s);