• 抽象类


    抽象类的由来:父类中的方法,被他的子类们重写,

    定义:
    抽象方法:没有方法体的方法;
    抽象类:包含抽象方法的类
    抽象:
    1.定义存在该行为,具体怎么操作不知道,有下面继承的子类去完成。

    抽象类,是指定父类进行行为的定义,不知道具体的实现是什么?我们就需要将实现体去掉,添加abstract关键字来标注该行为是一个定义。‘

    注意事项:
    1:方法被标注了abstract,那么类就会变成抽象类,也必须在class前面添加abstract;
    2:不管该类中是否有实现类,只要有一个抽象行为,那么该类就是抽象类
    3:抽象类不能被实例化,只有他的子类实现了她的抽象行为那么他的子类才许被实例化
    4:子类实例化抽象类使用的关键字是继承extends
    5:抽象类里面可以没有抽象方法,但是有抽象方法的类一定是抽象类
    接口:
    接口就是多个类的公共规范
    接口是一种引用类型,最重要的内容就是其中的,抽象方法

    把所有类相同行为进行提取,形成一个规范。
    抽象类和接口都不能直接被实例化
    接口和抽象类的区别在于:
    1.接口里面包含抽象类,
    2.抽象类的子类可以不完全实现父类的抽象方法,子类也就是一个抽象类。
    3.接口他里面定义的所有抽象接口子类必须全部实现
    4.抽象类使用的abstract 而接口使用的是interface
    5.抽象类是使用继承关键字,而接口使用的是implements关键字
    6.接口和抽象类都不能直接实例化,实现了抽象方法的子类可以进行实例化
    7.在jdk1.7的时候,在接口中添加实现了静态方法和默认方法
    静态方法可以使用类名.方法名进行调用,不能使用对象名.方法名,默认方法可以使用对象名.方法进行调用,甚至可以在子类中重写默认方法,但不能扩充父类功能
    8.抽象类只能单继承,多层继承,但是接口可以实现多继承,每个接口之间使用逗号隔开
    9.子类必须实现父类的所有接口,不管父类上面是否还有父类
    10.接口既然能够多继承,那么他的两个父类重名了怎么办?如果接口中有多个同名的抽象,那么子类只实例化一个即可

    实现的关键字是:implements 后续跟上接口的类名

    多态的定义:是指同一行为,具有多个不同表现形式。
    多态的成员属性操作
    直接操作:向上转型,属性值找父类,如果没有找再去向上查找,没有则编译报错;
    间接操作:父子都有,则优先使用子类,子类没有则向上找
    多态的成员方法操作:
    口诀:编译看左,运行看右
    成员方法:
    编译的时候看等号 左边的对象,在运行时才会看等号右边的内容,子类特有的行为,在父类中没有,则会编译报错

  • 相关阅读:
    优云蒋君伟:自动化运维成本仍然很高
    广通软件携手华为,联合发布远程运维服务:开启智能运维模式
    优云软件叶帅:“互联网+”时代的云数据中心运维思辨(下)
    关于对象转json字符串存在Date类型转换格式问题解决方案
    JAVA过滤emoji表情包
    Java关于list集合根据集合元素对象的某个或多个属性进行排序的工具类
    Linux下备份mysql数据库以及mongodb
    Linux系统备份Tomcat下的项目
    Java关于计算某年某月有多少天的问题
    有关Java POI导出excel表格中,单元格合并之后显示不全的解决方法。
  • 原文地址:https://www.cnblogs.com/clearlove007/p/13961209.html
Copyright © 2020-2023  润新知