11.4 抽象类——只能作为父类存在,天生当爸爸的

抽象类不同于一般的类,它不能生成对象,只能作为父类存在。

抽象类具有高度抽象的特征,为所有子类提供统一的抽象方法。

11.4.1 创建抽象类——关键字abstract

abstract所修饰的类为抽象类。

抽象类是只有定义而无法实现对象的类。

抽象类中只关心所应实现的功能。

abstract class Dog
{//抽象类类体
}抽象类无法产生对象,下面的语句是错误的
Dog d = new Dog();

11.4.2 抽象方法

abstract 修饰的方法为抽象方法。

抽象方法在形式上仅有方法的方法头部分,没有方法体。

abstract void out();

抽象方法是只定义了功能而未能具体实现的方法,这决定了抽象方法只能在父类派生子类时才能通过覆盖实现。

******

抽象类中可以没有抽象方法,但抽象方法所在的类必须是抽象类。

******

如果由抽象类派生出一个非抽象的子类,因为非抽象子类可以创建对象,所以在子类中必须覆盖掉父类(抽象类)中所有的抽象方法,否则,只能将子类定义为抽象类。

******

public class Example1108
{public static void main(String[] args){SonClass sc = new SonClass();sc.out();}
}abstract class SuperClass    //抽象类
{abstract void out();
}class SonClass extends SuperClass    //子类继承抽象父类
{public void out()                    //子类实现父类的抽象方法
    {System.out.println("SonClass");}
}

我们在写大型程序时,一般先设计最顶层、最抽象的类和方法,然后逐步实现细节化的类和方法。这种设计方法由粗到细,容易分析和理解。

转载于:https://www.cnblogs.com/jolene-wu/p/8288715.html

面向对象深入:继承03——抽象类相关推荐

  1. Java面向对象(继承、抽象类)

    面向对象 今日内容介绍 u 继承 u 抽象类 第1章 继承 1.1 继承的概念 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成 ...

  2. JavaSE(面向对象、继承、抽象类)

    JavaSE 面向对象 类和对象 定义一个标准类 创建并使用对象 对象的内存图 匿名对象 匿名对象的概述 使用匿名对象 继承 继承概述 为什么要有继承 继承的含义 继承的好处 继承的格式 格式 示例 ...

  3. java面向对象基础——继承、抽象类

    一.继承 1.继承概述 为什么会有继承? 现实生活中,为什么要有继承? 程序中,为什么要有继承? 继承的含义 继承:在java中指的是"一个类"可以"继承自"& ...

  4. 面向对象之继承,抽象类、模板设计模式

    第1章 复习回顾 1.1 类和对象 定义一个类 格式: 修饰符 class 类名{//类中的五大成分.1.成员变量2.构造方法3.成员方法4.内部类5.代码块 } 代码: public class S ...

  5. 《Java技术》第三次作业--面向对象——继承、抽象类、接口

    1.阅读下面程序,分析是否能编译通过?如果不能,说明原因.应该如何修改?程序的运行结果是什么?为什么子类的构造方法在运行之前,必须调用父 类的构造方法?能不能反过来? class Grandparen ...

  6. python中继承和组合的区别_Py修行路 python基础 (十五)面向对象编程 继承 组合 接口和抽象类...

    一.前提回忆: 1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均 ...

  7. 13 面向对象-继承与抽象类

    第01天 java面向对象 今日内容介绍  继承  抽象类 第1章 继承 1.1 继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以 ...

  8. 【Java语言基础】面向对象之封装、继承、抽象类、接口、多态综合知识习题及总结day11

    这几天逐渐被idea所折服,越来越喜欢这个优雅又强大的代码编辑器,有很多人说idea对很多初学者不友好,但是在我看来,只要你足够自律,并且英语不会太差,语法上关键的几个单词没什么大问题,idea对初学 ...

  9. 笔记整理3----Java语言高级(三)11 综合练习+12 面向对象-static变量 与 代码块+13 面向对象-继承与抽象类+14 面向对象-接口与多态+15 面向对象-包修饰符

    11 综合练习+12 面向对象-static变量 与 代码块+13 面向对象-继承与抽象类+14 面向对象-接口与多态+15 面向对象-包&修饰符 第11天 综合练习 今日内容介绍 综合练习 ...

最新文章

  1. Python完全学习大师班
  2. Qt Creator桌面平台
  3. oracle删除多条从js到java_一次oracle大量数据删除经历
  4. python json是什么_python的json用法
  5. 字节跳动BVC2解码器率先支持移动平台H.266标准8K解码
  6. (@WhiteTaken)设计模式学习——代理模式
  7. logging日志输出模块
  8. android开发的学习路线
  9. ps去色的10种方法
  10. 三角网导线平差实例_三角网间接平差示例
  11. php二维数组声明方式,php二维数组定义
  12. C语言 —— 存储类相关的关键字 (持续更新中....)
  13. 用计算机语言说一局情话,计算机中的情话
  14. 某微信小程序连锁超市响应参数解密
  15. QtChart柱状图动态加载数据
  16. 房屋租赁系统 nodejs+vue微信小程序
  17. 你的收藏夹里,有哪些神奇有趣的小网站?
  18. 缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印
  19. 程序员的修仙之路-筑基篇
  20. 收下这份秘籍:如何提高投稿命中率

热门文章

  1. DownloadProvider 源码详细分析
  2. 将web项目deploy到tomcat的方法
  3. HandlerThread 类的学习(转载)
  4. request.getcontextPath() 详解
  5. 读PPPOE/PPPOA白皮书小结
  6. webstorm快捷键生成html页面,webstorm工具使用的快捷键
  7. 【IM】关于集成学习Bagging和Boosting的理解
  8. 损失函数中正则化项L1和L2的理解
  9. 对程序错误的处理——Windows核心编程学习手札之一
  10. DATE_FORMAT() 函数||DATE_SUB() 函数