类的继承

来源:互联网 发布:电脑ppt软件 编辑:程序博客网 时间:2024/05/16 22:04

继承的特点

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();

} 

}