abstract(抽象)修饰符,可以修饰类和方法1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。2,abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以";"代替。需要子类继承实现(覆盖)。注意:有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也可以全是具体方法。abstract修饰符在修饰类时必须放在类名前。abstract修饰方法就是要求其子类覆盖(实现)这个方法。调用时可以以多态方式调用子类覆盖(实现)后的方法,也就是说抽象方法必须在其子类中实现,除非子类本身也是抽象类。注意:父类是抽象类,其中有抽象方法,那么子类继承父类,并把父类中的所有抽象方法都实现(覆盖)了,子类才有创建对象的实例的能力,否则子类也必须是抽象类。抽象类中可以有构造方法,是子类在构造子类对象时需要调用的父类(抽象类)的构造方法。
举个简单的例子下面有一个抽象类
abstract class E{
public  abstract  void  show();//public abstract 可以省略
}
然后其它类如果继承它通常为了实现它里面的方法
class F extends E{void show(){//写具体实现的代码
}
}
最后再主方法里面定义一个父类引用指向子类对象,就会发生多态现象,比如
E e=new F();
e.show();
实际调用了子类里面的show()方法

java abstract的用法相关推荐

  1. java中extends用法_JAVA的extends用法

    理解继承是理解面向对象程序设计的关键.在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类).在Java中不允许多继承. (1)继承 cla ...

  2. 四种Java线程池用法解析

    四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...

  3. 2020-12-17 【 java优先队列的用法】

    java优先队列的用法 peek是top() 只取最上面的元素 poll是pop() 弹出 add是添加 push 类的比较器,相对于仿函数 struct cmp{ bool operator ()( ...

  4. java中import用法

    java中import用法 单类型导入(single-type-import),例如import java.io.File; 按需类型导入(type-import-on-demand),例如 impo ...

  5. Java abstract 关键字

    abstract是声明抽象类和抽象方法的关键字 包含抽象方法的类叫抽象类,如果一个类中包含一个或多个抽象方法,该类必须被限定为抽象的,否则编译器会报错,抽象类不可创建对象,创建抽象类的对象编译器会报错 ...

  6. java.nio.ByteBuffer用法小结

    转载自  java.nio.ByteBuffer用法小结 在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据按顺序填入 ...

  7. Java Spring IOC用法

    Java Spring IOC用法 Spring IoC 转载于:http://www.cnblogs.com/flowwind/p/4772375.html 在前两篇文章中,我们讲了java web ...

  8. java abstract类和abstract方法

    Example5_12.java abstract class A {abstract int add(int x,int y);int sub(int x,int y) { return x-y;} ...

  9. 设计模式--模板方法模式--Java实现-- java访问控制关键字用法

    1.什么是模板方法 2.具体实现步骤 5.优缺点 6适用场景 java访问控制关键字用法 – protected的解释 (1)私有的:用关键字private修饰,只有本类可见. (2)默认的:不用访问 ...

最新文章

  1. python自学网站有哪些-分享干货:三个新手自学Python的网站!
  2. 3.1.3 训练/开发/测试集的问题以及注意事项
  3. 编码调试:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xaf in position 12: illegal multibyte sequen
  4. Java 洛谷 P1149 火柴棒等式
  5. 未能加载文件或程序集“Poderosa.Core
  6. HTML5新增的表单元素有哪些?
  7. RSA算法特点及应用简述
  8. Spring boot 开发组件
  9. 「Font」- 设置 Fallback 字体(如果字体 A 中不存在某个字符,则从字体 B 中加载该字符) @20210212
  10. 一篇文章带你大致了解5G关键技术、协议架构、网络优化覆盖、业务测试与验证
  11. Gluster 常用操作命令
  12. 【.NET】EF框架之三种模式
  13. 使用 VMware Server 在 Linux 上安装 Oracle RAC 10g
  14. Request请求转发与URL编码
  15. 计算机网络安全 第二章 物理安全
  16. 构建一个类book,其中含有2个私有数据成员qu和price,建立一个有5个元素的数组对象,将qu初始化为1~5,将price初始化为qu的10倍。
  17. jdk11安装后没有jre的解决办法
  18. 以获客为目标 ,如何从0到1实现用户增长?
  19. 电小天线理论仿真-单极子天线2
  20. 图表的绘制(使用Dundas组件)

热门文章

  1. Google Map API使用谷歌地图api实现地点搜索功能
  2. 成立大数据公司 新华三“数据引擎”要干些什么事?
  3. linux应用服务排错,浅谈SELinux的配置以及排错问题
  4. Android Google Maps教程
  5. XSS学习笔记:XSS Challenges 1-19通关全详解
  6. 用URL在IntentService中下载图片并更新到ImageView
  7. 电脑无法打开Office提示很抱歉,此功能看似已中断解决办法
  8. Socialbook告诉你网红营销和ROI的关系~
  9. 朴素贝叶斯 二项式 伯努利
  10. eclipse功能template(模板)学习。e.g : 快速在代码中插入时间戳