• Java 类的继承,抽象类 封装


    继承   extends

    public class 子类 extends 父类;

    子类自动拥有父类的可继承的成员变量和成员方法;

    继承的好处:

    1、继承的出现提高了代码的复用性,提高软件开发效率。

    2、继承的出现让类与类之间产生了关系,提供了多态的前提。

    类的继承只允许单继承,即一个子类只能继承一个父类。

    但是允许多层继承,父类的成员变量和成员方法会一直继承下去。

    方法的重写

    子类中出现与父类一模一样的方法时,会出现覆盖操作,也称为override重写、复写或者覆盖

    重写需要注意的细节问题:

    l 子类方法覆盖父类方法,必须要保证权限大于等于父类权限。

    写法上稍微注意:必须一模一样:方法的返回值类型 方法名 参数列表都要一样。

    总结:当一个类是另一个类中的一种时,可以通过继承,来继承属性与功能。如果父类具备的功能内容需要子类特殊定义时,进行方法重写。

    抽象类  abstract

    抽象类的定义格式

    public abstract 返回值类型 方法名(参数);

    抽象类的特点

     

    1、抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。

     

    2、抽象类不可以直接创建对象,原因:调用抽象方法没有意义。

     

    3、只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。

     

    之所以继承抽象类,更多的是在思想,是面对共性类型操作会更简单。

    1、抽象类一定是个父类?

    是的,因为不断抽取而来的。

    2、抽象类中是否可以不定义抽象方法。

    是可以的,那这个抽象类的存在到底有什么意义呢?不让该类创建对象,方法可以直接让子类去使用

    3、抽象关键字abstract不可以和哪些关键字共存?

    l 1、private:私有的方法子类是无法继承到的,也不存在覆盖,而abstract和private一起使用修饰方法,abstract既要子类去实现这个方法,而private修饰子类根本无法得到父类这个方法。互相矛盾。

    l 2、final,太监方法,无法被继承

    l 3、static,静态方法,可以通过类名。方法名直接调用,抽象方法调用没有意义。

     封装

    封装就是隐藏实现细节,提供公共的方法

    n 1、方法就是一个最基本封装体。

    n 2、类其实也是一个封装体。

    l 从以上两点得出结论,封装的好处:

    n 1、提高了代码的复用性。

    n 2、隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。

    n 3、提高了安全性。

  • 相关阅读:
    Ubuntu下手动安装vscode
    VMware Tools安装后设置自动挂载解决共享文件夹无法显示的问题
    VMware Tools安装方法及共享文件夹设置方法
    JavaScript原始类型转换和进制转换
    Javascript的数据类型(原始类型和引用类型)
    设计模式(六)观察者模式
    设计模式(五)之适配器模式
    设计模式(四)注册模式 解决:解决全局共享和交换对象
    设计模式(三)单例模式
    设计模式(二)之策略模式
  • 原文地址:https://www.cnblogs.com/marswenze/p/13255434.html
Copyright © 2020-2023  润新知