抽象:abstract
   是具体的反义词
   和模糊,不确定,不清晰有的类似
   
  1、什么情况下会用到抽象?
   当我们在声明一个父类时,某个/些方法的实现不清楚,或者说无法给出具体的实现,
   要等到具体的子类中才能给出具体的实现,那么这样的方法,就可以声明为抽象方法。
   
   抽象方法没有方法体
   
  2、抽象方法
  语法格式:
      【其他修饰符】 abstract 返回值类型   方法名(【形参列表】); 
  
  3、抽象类
      如果一个类中包含了抽象方法,那么这个类必须是一个抽象类。
  语法格式:
  【其他修饰符】 abstract class 抽象类名{
          【其他修饰符】 abstract 返回值类型   方法名(【形参列表】); 
  }
   
   
   例如:我们声明一个图形类:Graphic
       我们知道在图形这个事物中,不管是什么图形,都有两个特征:(1)求面积(2)求周长
   
  4、抽象类的特点
  (1)抽象类不能实例化,不能直接创建对象或者说,不能创建抽象类的对象
  (2) 如果子类继承了抽象类,必须重写父类的所有的抽象方法,否则子类也得是一个抽象类
  (3)抽象类也有构造器,这个构造器不是为了创建抽象类自己的对象用的,而是为子类创建对象服务的
  (4)抽象父类与子类的对象之间可以构成多态引用
  (5)抽象类中也可能没有抽象方法,目的就是不能你创建它的对象

像这种没有抽象方法的抽象类,存在的意义
(1)为了多态的应用,因为父类可以管理各种子类对象
(2)不希望你创建这个父类的对象,而是创建子类的对象
      如果一个类中包含了抽象方法,那么这个类必须是一个抽象类。
 
  1、abstract:抽象的
  2、可以修饰什么?
  (1)类
  (2)方法
  
  3、修饰类的话,和那些修饰符不能一起使用
  类:public和缺省
       final
  
  abstract和final不能一起修饰类。
  
  4、修饰方法,和那些修饰符不能一起使用
  方法:4种权限修饰符
         static,final,abstract,native
  
  (1)final,abstract不行      因为final不能被重写
  (2)static,abstract不行    因为static不能被重写
  (3)native,abstract不行    因为都没有方法体,不知道是什么情况,会有歧义
  (4)private,abstract不行    因为private不能被重写

Java抽象类与抽象方法相关推荐

  1. Java 抽象类和抽象方法

    Java 抽象类和抽象方法 抽象类是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的类. 使用抽象类可以充分利用这些公共属性来提高开发和维护程序的效率. 抽象方法必须为public或prote ...

  2. Java抽象类和抽象方法

    Java抽象类和抽象方法 参考博客: Java抽象类和抽象方法 java提高篇(五)-–抽象类与接口 抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类. 抽象类有点类似"模 ...

  3. 二十四、深入Java抽象类,抽象方法和接口

    @Author:Runsen @Date:2020/5/31 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排 ...

  4. java抽象类与抽象方法详解+练习题

    抽象类与抽象方法 一.为什么使用抽象方法和抽象类 二.抽象方法 抽象方法指一些只有方法声明,而没有具体方法体的方法. 结构 abstract class 类名称 // 定义抽象类 {声明数据成员;访问 ...

  5. Java 抽象类和抽象方法的使用

    抽象类 关键字:abstract 概述:         使用abstract关键字修饰的类就是抽象类 特点: 抽象类不能创建对象,主要是来给子类继承的 抽象类和普通类的区别: 1.普通类可以创建对象 ...

  6. java 编写抽象类Animal,JAVA 抽象类,抽象方法

    抽象类其实就是给他的所有子类定义了一套模板.子类可以在这个模板上进行扩展. 通过抽象类,可以严格的限制了子类的设计. 如一个抽象类Animal中有一个抽象方法run. public class Ani ...

  7. java 定义抽象变量_Java抽象类和抽象方法定义与用法实例详解

    本文实例讲述了Java抽象类和抽象方法定义与用法.分享给大家供大家参考,具体如下: 一.Java抽象类 1.抽象类的说明 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都 ...

  8. JAVA基础13-Java抽象方法、抽象类、抽象之模板方法模式

    文章目录 Java抽象方法和抽象类 抽象之模板方法模式 Java抽象方法和抽象类 抽象类: Java中可以定义没有方法体的方法,该方法由子类来具体实现.这个没有方法体的方法我们称之为抽象方法,含有抽象 ...

  9. java中的抽象类和抽象方法

    知识点:java中的抽象类和抽象方法 关键字abstract意为抽象的,可以用来修饰类和方法,分别称作抽象类和抽象方法 抽象类一般在多态的场景中使用 一:抽象类(abstract class) 在类的 ...

最新文章

  1. 常用的 服务器 与 交换机
  2. 蓝桥杯_算法训练_大小写转换
  3. 威纶通触摸屏维修_威纶通WEINVIEW触摸屏维修故障检测
  4. 计算机集成制造 pdf,计算机集成制造系统方法论9412536127640μ.pdf
  5. 手把手教出欧拉!数学界最伟大的老师惨遭全网歪曲抹黑,奇葩说陈铭一句话揭露真相.........
  6. GZIP pre-compression
  7. db2取数据库日期时间_DB2数据库取得当前时间的正确解析
  8. sql:命名管道管道程序_学习SQL:命名约定
  9. POJ1185炮兵阵地(状态压缩 + dp)
  10. android自定义布局中的平滑移动
  11. mescroll-vue下拉上拉刷新的使用
  12. 南大计算机软件所,2020考研南京大学计算机软件研究所推免夏令营通知_南大软件所20推免_聚创南大考研网...
  13. Python之面向对象-类与 类之间的关系
  14. 前端工程师之华为手机如何打开开发者模式并进行手机调试查看原生APP效果。
  15. 数据分析_表和表的运用
  16. 一、H5全景图-朋友圈全景图-720°全景-VR -----工具使用
  17. 微分方程零解稳定性matlab,微分方程零解及稳定性.doc
  18. C语言 第十二章 文件
  19. 20191219 门面设计模式
  20. 设计模式之Tank大战02

热门文章

  1. 有哪些值得推荐的 Python 开发工具
  2. Lightoj 1258
  3. Ubuntu删除多余内核
  4. js通过身份证号获取出生日期,性别,年龄
  5. oracle maxidletime,ORA-02396:超过最大空闲时间,请再次连接
  6. Java基础(一)Java语言概述及入门
  7. XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
  8. PHP 重启 php-fpm 的几种方法
  9. LevalSet水平集分割算法 matlab程序源码
  10. UPC 6617 Finite Encyclopedia of Integer Sequences(找规律)