• Java面向对象之继承


    继承是Java面向对象的一个重要特性,下面我们简单讲讲继承。




    继承的特性

    • 子类拥有父类非private的属性,方法。

    • 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

    • 子类可以用自己的方式实现父类的方法,即方法的重写

    • Java的继承是单继承。


    extends关键字

    Java的继承由关键字extends来实现,格式如下:

    //父类
    public class SuperClass {
       public static void main(String []args) {
           ……
       }
    }
     
    //子类
    public class SubClass extends SuperClass {
       ……
    }
    

    final关键字

    final关键字可以修饰类、方法、变量:

    • final修饰类:该类不能被继承,即最终类。

    • final修饰方法:该方法不能被子类重写。

    • final修饰变量:该变量的值不能被修改,相当于一个常量。


    super关键字

    我们知道在子类中可以重写父类的方法,如果父类的方法被子类重写后,又要怎么调用父类中的方法呢?super关键字就能解决这一问题,调用格式很简单,就是super.method()。同时,super也可以用来访问父类中的属性和变量。


    构造器

    在继承中,当我们创建子类的对象时,要先调用父类的构造方法并创建一个父类的对象,然后再显示的调用子类的构造方法并创建子类的对象。但是,在继承中,子类并不能继承父类的构造器(构造方法或者构造函数),那么问题来了,子类要怎么调用父类的构造>方法呢?这时候,有两种情况:

    1. 父类的构造方法带有参数。此时,必须在子类的构造器方法中显式地通过super关键字调用父类的构造器并配以适当的参数列表,格式为super(参数1,参数2,....)

    2. 父类的构造方法不带参数,则在子类的构造方法中用super调用父类构造方法就不是必须的,如果没有使用super关键字,系统会自动调用父类的无参构造器。

    注意:如果在子类的构造方法中,有用super关键字显示调用父类的构造方法,则这一句语句必须写在子类构造方法的第一句。




  • 相关阅读:
    同名的const 成员函数
    模板元编程中的“hello world”
    枚举联合不能用作基类,也不能有基类
    不能重载的操作符
    不同级别成员对应三种继承的结果:
    c++ error: creating array of references( declaration of 'a' as array)
    leetcode 剑指offer 03 数组中重复的数字
    Lintcode 89 K sum
    leetcode 322. Coin Change
    Leetcode 416. Partition Equal Subset Sum
  • 原文地址:https://www.cnblogs.com/jiuweilinghu/p/7226487.html
Copyright © 2020-2023  润新知