zoukankan      html  css  js  c++  java
  • 面向对象_继承性_抽象类

    继承性:

    一个类可以继承另外的一个类,使用extends关键字例如:

    public class Student extends Person{
    
    }
    

    如果一个类A继承自一个类B,A类称为子类或者叫做派生类。B类叫做父类或者是基类或者叫做超类。

    子类可以继承父类中全部的属性以及方法。

    注意:java中只允许单继承,不允许多重继承。但是允许多层继承。

    即便是子类与父类之间也存在着访问权限的控制,子类中不能随意的访问父类中私有化的成员(属性以及方法)。

    子类对象被创建之前,先创建父类的对象。

    父类的静态块会优先被执行,然后执行子类的静态块,执行父类的构造块,父类的构造方法,子类的构造块,子类的构造方法。

    方法的重载:overload
    方法的重写:override

    重写发生在子类与父类中,是指子类对父类的方法进行重写,要求子类的方法的方法名与父类方法的方法名相同。参数列表也相同,方法的返回值类型也要一致,但是子类的访问权限不能比父类的访问权限小。

    Super关键字:
    1.强调是父类的属性或者是方法。
    
    2.可以调用父类的构造方法
    

    注意:如果子类的构造方法没有明确的指定调用父类的哪一个构造方法时,默认的调用父类无参数的构造方法。

    当父类没有无参数构造方法的时候,在子类的构造方法中,必须明确指定具体调用父类的哪一个有参数构造方法。

    super调用父类构造方法的语句,必须写在子类构造方法的首行。

    注意:super不代表父类对象。

    final关键字:
    1.使用final修饰的变量即为常量,常量的值一旦被指定就不能被更改。
    
    2.使用final修饰的类不能有子类。
    
    3.使用final修饰的方法不能被子类重写。
    

    抽象类:

    java中有一种类专门用来给别的类当做父类的。这个类就叫做抽象类。抽象类是使用abstract修饰的类。

    抽象方法:

    使用abstract修饰的方法被称作抽象方法。

    注意:抽象方法不写具体的实现,不写大括号以及大括号中的代码

    抽象类的声明以及使用规则:
    1.抽象类必须使用abstract进行修饰。
    
    2.如果一个类中包含了至少一个的抽象方法,这个类必须声明为抽象类。
    
    3.如果一个子类(不是抽象类)继承了一个抽象类,那么这个子类必须重写抽象类中全部的抽象方法。
    
    抽象类的语法:
    访问权限修饰符 abstract class 类名 【extends 类名】{
        属性
    	方法
    	抽象方法
    }
    

    注意:抽象类不能创建对象

    抽象类的具体应用:

    模板设计模式

    访问权限修饰符 【final】 【static】 【abstract】 返回值类型 方法名称(【参数】){
    }
    
  • 相关阅读:
    qt自定义的串口类判断断开
    ubuntu16.04永久修改有线接口名称(enp0s3->eth0)
    记录一下读过的书
    Qt 主界面卡死
    Mysql5.7及版本以上导入sql提示Incorrect date value: '0000-00-00' for column
    webpack打包css
    ant-design-vue中的a-directory-tree更换图标
    解决php-fpm占用内存过高问题
    centos,解压源代码安装,没有configure文件
    OSS存储上遇到The difference between the request time and the current time is too large
  • 原文地址:https://www.cnblogs.com/SunMoonSky/p/12370575.html
Copyright © 2011-2022 走看看