zoukankan      html  css  js  c++  java
  • 抽象类和抽象方法接口和多态

    抽象类与普通类的区别:
    1、抽象类中可以写抽象方法,普通类不可以;
    2、抽象类不能直接创建对象,普通类可以;
    3、抽象类中可以没有抽象方法,但是仍然不能创建对象。

    抽象类的常见问题
    1、抽象类一定是父类,因为是不断向上抽取而来。
    2、实际开发中,建议先写抽象的父类,在根据具体的子类编写功能。
    3、有抽象方法的类一定是抽象类,在抽象类中,可以没有抽象方法。
    没有抽象方法的类是一种特殊的设计模式;(适配器模式)
    4、如果抽象A定义了一个抽象的a方法,如果B类继承A的时候,没有重写a方法,B类也必须抽象。


    (接口和多态)
    接口中只能写两种成员:一种是常量(需要使用final关键字修饰),另一种是抽象方法
    接口不能直接创建对象
    接口可以继承接口,而且可以多继承
    接口与类之间的关系,只能是类实现接口
    一个类在继承另一个类的时候,可以实现多个接口
    当子类实现多个接口时,出现相同的方法规范时,只需要重写一次即可。
    该类必须重写接口中所有的抽象方法;如果不能全部重写,那么这个类只能是抽象类。


    接口与抽象类的区别:
    相同点:
    1、都不能创建对象
    2、都可以写抽象方法
    3、都必须有子类才可以创建子类的对象

    多态:
    表现形式:父类或接口类型 变量名 = new 子类();
    多态必须有继承或实现,才可以实现多态的形式
    多态形式下方法执行的规则
    当父类有某个方法的时候(不论是否为抽象方法),多态形式下的子类对象,都可以调用该方法
    ,如果父类中没有这个方法(子类中有),那么多态形式下的子类对象是 不能直接调用子类独有的方法。
    总结:编译看左边,运行看右边;
    多态形式下的成员变量:编译和运行都看左边

    多态的类型转换

    类型的自动提升
    小转大,java自动转型
    大的数据类型 变量名 = 小的数据值

    强制类型转换
    大的数据类型 变量名 = (大的数据类型)被转换的对象

    instanceof关键字用来判断多态形式下的对象的原始类型
    格式:多态形式的对象 instanceof 数据类型,返回值类型为boolean类型
    类型强制下降

  • 相关阅读:
    数据库中总结2
    PyMySQL的基本使用
    数据库总结
    并发编程之多线程
    并发编程之多进程知识
    并发编程之多进程
    操作系统基础知识
    模块二总结
    Python函数进阶
    文件操作
  • 原文地址:https://www.cnblogs.com/dubin382460/p/7482322.html
Copyright © 2011-2022 走看看