第4章 类的继承

  一些类中有着相同的方法和属性,为了不再去每次重复定义这些重复的属性和方法,所以出现了继承这个功能,将那些重复的属性和方法提取出来,定义为一个类,称之为父类,

当想要用到这些属性和方法的时候,就继承它,就不需要重新在子类中定义这些属性和方法了.

语法:

class 子类 extends 父类
{
    //子类的成员变量定义
  //子类的成员方法定义  
}

 在java中,一个子类只能继承一个父类,不支持多继承.但是支持多层继承

比如:

  A类继承B类;B类继承C类

这样A类就是B类和C类的子类了.

  但是,A继承B,C;这样是不行的

子父类中成员变量的特点(想在子类中调用父类的方法或成员变量)

继承带来的好处就是提高了代码的复用性、继承让类与类或者说对象与对象之间产生了关系.

如果子类中出现了与父类中同名的成员变量,如果子类要访问父类中的成员变量,必须使用关键字super来完成.

super用来表示当前对象中包含的父类对象空间的引用.

class Person{
    int num=10;
}
public class Demo1 extends Person{
    int num=20;
    public void printNum()
    {
        System.out.println(num);
        System.out.println(super.num);//想调用父类的成员变量或者方法的时候使用super关键字.
      //同样,想调用父类的构造方法时,和this(参数)同样,使用super(参数) }
public static void main(String args[]) { Demo1 demo=new Demo1(); demo.printNum(); } }

运行结果: 20

      10

子父类中成员方法的特点:

在程序通过对象调用方法的时候,会先在子类中寻找是否有对应的方法,如果在子类中寻找到,就会执行子类中的方法,没有寻找到就会去执行父类中相应的方法.

当子类中出现和父类一模一样的方法时,会出现覆盖操作,也被称为override重写、覆写.

子父类中构造方法的特点:

在创建子类对象的时候,会先加载父类,调用父类的构造方法,所以子类的构造方法中会有一行隐式的super语句来调用父类的构造方法.

如果想要调用父类的构造方法:

super(参数列表);

this()和super()语句只能定义在构造方法的第一行,初始化动作要先执行

课后习题

1、super关键字的作用是什么?

  super关键字用来表示当前对象对包含的父类对象空间的引用.

可以用他来调用父类的成员变量和成员方法.调用方法和普通成员方法时,直接super.成员变量方法名

当想要用他调用父类构造方法的时候:super(参数列表).

2、类的继承的好处是什么?

提高代码的复用性,使许多需要重复定义的属性和方法不需要多次重复定义,只需要将这些需要重复定义使用的属性和方法定义为一个父类,当想要使用的时候直接继承父类就行.还可以重写父类的方法以增加子类的功能

原文地址:https://www.cnblogs.com/youjunhui/p/14879464.html