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)可以包含抽象方法,抽象方法存在的意义就是为了给所有派生类提供统一入口(就是可以点出来)
    派生类的具体行为不同,但是入口是一致的

    欢迎大佬指点。
  • 相关阅读:
    五种实用DOM方法总结
    九月工作总结
    八月下半月工作总结
    【工作总结】七月底-八月中
    权限管理功能的实现
    JavaWeb项目出现红色感叹号
    项目中遇到的AngularJs问题
    五月工作总结
    生成流水号的优化
    AngularJS scope 作用域的问题
  • 原文地址:https://www.cnblogs.com/tietouwa/p/13448741.html
Copyright © 2011-2022 走看看