继承的特点:
1. JAVA只支持单继承,不允许多继承。在JAVA中,一个子类只能有一个父类,不允许一个类直接继承多个类,但一个类可以被多个类继承。
2. 可以有多层继承,即一个类可以继承某一个类的子类,如类B继承了类A,类C又可以继承类B,那么类C也间接继承了类A。
3. 子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法。
如果子类构造方法中没有显示地调用父类构造方法,而父类中又没有无参数的构造方法(如果父类没有显示地定义任何构造方法,系统将会自动提供一个默认无参数的构造方法,这还是等于父类中有无参数的构造方法),则编译出错。所以,我们在定义类时,只要定义了有参数的构造方法,通常都还需要定义一个无参数的构造方法。
例:
class Person
{
public String name;
public int age;
public Person(String name,int age)
{
this.name=name;
this.age=age;
}
public Person() //如果不写这个无参数的构造方法,编译将会报错。
{
}
public void getInfo()
{
System.out.println(name);
System.out.println(age);
}
}
class Student extends Person
{
public void study()
{
System.out.println("Studding");
}
public static void main(String[] args)
{
Person p=new Person();
p.name="zhangsan";
p.age=20;
p.getInfo();
Student s=new Student();
s.name="lisi";
s.age=30;
s.getInfo();
s.study();
}
}