Abstract关键字详解

abstract关键字,抽象的,修饰类、方法

  1. 修饰类:
    1)不可被实例化,抽象类只能声明引用,不能创建对象
    2)抽象类有构造器 (凡是类都有构造器)

    当我们设计一个类,不需要创建此类的实例时候,就可以考虑将其设置为抽象的,由其子类实现这个类的抽象方法以后,就行实例化

public class TestAbstract {public static void main(String[] args) {    //抽象类//  Super1 s = new Super1();    //error, abstract修饰的类不能被创建对象Sub sub = new Sub();       //Sub继承了abstract修饰的类,但可以创建对象Super1 s1 = new Sub();  //但Super1可以指向子类引用}}abstract class Super1 { }class Sub extends Super1 {  }   

2,修饰方法:

抽象方法 只有声明,没有实现
1)格式:没有方法体,包括{}.如:public abstract void eat();
2)抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类,由子类重写此抽象方法
3)若子类继承抽象类,并重写了所有的抽象方法,则此类是一个”实体类”,即可以实例化
4)若子类继承抽象类,没有重写所有的抽象方法,意味着此类中仍有抽象方法,则此类必须声明为抽象的!

abstract关键字注意点:

  1. 如果一个类中由抽象方法,这个类就必须是抽象类,但是抽象类中未必有抽象方法,抽象类中可以有构造方法
  2. 子类继承抽象类,如果子类不希望也成为抽象类,他就必须实现父类中声明的所有抽象方法

利用abstract可以把方法声明抽象到父类中,而方法实现留在子类,更好的体现“共性放在父类”的原则

不能修饰构造方法

abstract关键字详解相关推荐

  1. java abstract 变量_Java中abstract关键字详解

    abstract只能修饰类(class) 和 方法.而不能修饰成员变量.这是由于抽象的概念确定的.只有类和方法可以抽象出来,而成员变量不需要抽象. abstract修饰类 abstract之所以出现, ...

  2. Delphi 关键字详解[整理于 橙子 的帖子]

    Delphi 关键字详解[整理于 "橙子" 的帖子] absolute //它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var Str: string[3 ...

  3. Java关键字详解-配视频讲解链接(附带一些面试题)

    Java中常用的关键字详解-配视频讲解链接(附带一些面试题) 关键字:被Java赋予了特定含义的英文单词.关于关键字的学习贯穿了整个Java的学习,结合应用理解记忆关键字,不能单纯的死记硬背,在这里通 ...

  4. Day16-01 P71 面向对象12什么是多态 P72 对象13:instanceof和类型转换 P73 static关键字详解 P74 抽象类 P75 接口的定义与实现 P76N种内部类

    Day16-01 P71 面向对象12:什么是多态 //父类Person package com.oop.demo06;public class Person {public void run(){S ...

  5. Java中的static关键字详解

    ** Java中的static关键字详解 ** 在一个类中定义一个方法为static,即静态的,那就是说无需本类的对象就可以调用此方法.调用一个静态方法就是 "类名.方法名" ,静 ...

  6. swift. 扩展类添加属性_swift中的声明关键字详解

    原起 学习swift,swift中的关键字当然要了解清楚了,最近在网上看到了关于声明关键字的文章,整理记录一下. 关键字是类似于标识符的保留字符序列,除非用重音符号(`)将其括起来,否则不能用作标识符 ...

  7. C#关键字详解第二节

    base:基类 在有些书中base的解释为表示父类,没错,base可以表示父类,但我更想理解成基类,因为更原始更具象,既然是类,那么他就符合面向对象的设计规则和特点,我们知道面向对象的三个特点是封装, ...

  8. C++ explicit关键字详解(用于构造函数)

    C++ explicit关键字详解(用于构造函数) C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生.声明为explicit的构造函数不能在隐式转换中使用. ...

  9. C++/面试 - 四种类型转换(cast)的关键字 详解 及 代码

    四种类型转换(cast)的关键字 详解 及 代码 本文原创, 禁止转载, 如有需要, 请站内联系. 本文地址: http://blog.csdn.net/caroline_wendy/article/ ...

最新文章

  1. html显示数据库表格asp,ASP实现在WEB中显示电子表格数据 显示数据及生成HTML表格...
  2. [BTS06]BizTalk2006 SDK阅读笔记(五) 管道-Pipeline
  3. CSS你可能还不知道的一些知识点
  4. Python基础教程:判断列表重复
  5. $.post $.getScript
  6. webhook机器人php源码,webhook机器人
  7. android横向滑动分享,Android将ListView逆时针旋转90°实现横向滑动
  8. 表单设计中标签的布局方式有哪些
  9. 2021-2027全球及中国红外探测器芯片行业研究及十四五规划分析报告
  10. 交易员都是用什么方法盈利的?
  11. Python3中的Excel表格操作
  12. JEECG报表整合方案
  13. Unity学习笔记--超简单:两个游戏对象直接用线连接(UI和世界坐标下均可)
  14. Google浏览器首页被篡改(非常有效的解决方法)
  15. SQL server2008使用.iso文件安装踩坑
  16. php 物联网协议,物联网常用通讯协议科普
  17. 服务器登录密码 被修改密码,服务器登录密码被人改
  18. 吴恩达机器学习笔记39-误差分析与类偏斜的误差度量(Error Analysis and Error Metrics for Skewed Classes)...
  19. WinCE6.0HIVE注册表
  20. HMI-28-【运动模式】给速度表添加数字显示

热门文章

  1. [转]唐骏成长史:从小老板到亿万富翁的飞跃
  2. 知识分享:安全的最底层---硬件芯片安全
  3. 计算日期的下一天日期
  4. p30pro升级鸿蒙后拍照,兄弟们!华为P30Pro拍照到底有多强,真的使用过才知道
  5. 文献笔记02 网络入侵检测技术综述(信息安全学报)
  6. Metasploit 生成各种后门
  7. 浙江大学-多元合金化同步提高3D打印商业纯钛强度和延展性
  8. 中国画的创作需要不似之似的创作理念
  9. 关于Go语言中的次方
  10. 推荐模型的案例分析-【突破瓶颈期和bad case study】-- 编辑中