zoukankan      html  css  js  c++  java
  • Java抽象

    描述

    抽象方法:只用关键字abstract声明方法头部,不声明方法体内容。

    抽象类:用关键字abstract声明。

    • 抽象类有构造方法,但是不能直接创建实例对象,必须通过子类创建。
    • 子类必须重写父类中的抽象方法。

    抽象类与抽象方法:

    • 抽象方法所在的类必须为抽象类
    • 抽象类中可以有抽象方法,也可以没有
    • 抽象类中可以有非抽象方法,也可以没有

    抽象类中可以有静态变量,并可以直接通过类名调用

    意义

    抽象方法与空方法:

    在形式上,两者是一致的,都是只声明了方法头部,但是没有写方法体内容。并且可以通过子类重写方法,实现功能。

    但是,编程应该遵循“专业的机制做专业的事”,比如在spring中@Component与@Service。

    如果要定义一个方法,暂时什么事情也不做,需要通过它的重写方法来定义内容,那么这个方法就应该定义为抽象方法。

    同时,抽象方法规定(提醒)程序员必须在子类中重写该方法,程序才能正常运行。

    抽象类与非抽象类:

    抽象类机制在一定程度上是为了支持抽象方法。但是抽象方法对应暂时不用实现的方法,而抽象类对应的是抽象上的概念类,不需要直接创建其实体对象。

    面向对象的种种特性/机制是程序对现实的抽象

    抽象类和抽象方法:

    虽说非抽象类和非抽象方法通过继承也能够实现多态,但是抽象类和抽象方法进一步强化了多态机制。

  • 相关阅读:
    Python基础之公共方法
    Python基础之字符串
    Python基础之字典
    Python基础之元组
    Python基础之列表
    Python基础之函数和模块
    Python基础之if判断,while循环,循环嵌套
    Python基础之注释,算数运算符,变量,输入和格式化输出
    Mapreduce实例——二次排序
    Mapreduce实例——Reduce端join
  • 原文地址:https://www.cnblogs.com/heibaimao123/p/13770044.html
Copyright © 2011-2022 走看看