zoukankan      html  css  js  c++  java
  • 抽象方法和抽象类

    *abstract和final关键字不可以同时修饰一个类,因为final关键字使的类不可被继承,而abstract修饰的类如果不能被继承那就没有任何意义。两个关键字有冲突所以不可以同时修饰一个类

    *抽象方法:
    1.由abstract修饰
    2.抽象方法只有定义,没有方法体
    3.只有方法的定义,没有具体的实现(连{ }都没有)

    *抽象类
    1.由abstract修饰
    2.包含抽象方法的类必须是抽象类
       不包含抽象方法的类也可以声明为抽象类-------没有任何意义
    3.抽象类不能被实例化(抽象类不能被实例化(new对象),但是可以被声明引用)
       FlyingObject o =new FlyingObject();//编译错误
       FlyingObject[] oo = new FlyingObject[3];//正确----new的是FlyingObject数组对象
       FlyingObject f;//正确

    4.抽象类是需要被继承的,派生类需要:
      4.1)重写抽象类中的所有抽象方法-----变不完整为完整
      4.2)也声明为抽象类-----------------一般不建议这么做

    5.抽象类的意义:
      5.1)封装派生类共有的属性和行为---------为了实现代码复用
      5.2)可以为所有派生类提供工艺的类型-----为了实现向上造型
      5.3)可以包含抽象方法,抽象方法存在的意义就是为了给所有派生类提供统一入口(就是可以点出来)
    派生类的具体行为不同,但是入口是一致的

    欢迎大佬指点。
  • 相关阅读:
    python 按行读取判断是否为空
    python获取目录下所有文件
    Kolakoski
    最小背包问题
    python 求第k个最大数
    python 求最大子序列
    爬取数据的程序
    文件对比程序
    trsd_extract_EDSD_new
    tred_extract_EDED_new
  • 原文地址:https://www.cnblogs.com/tietouwa/p/13448741.html
Copyright © 2011-2022 走看看