抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类。抽象类有点类似“模板”的作用,目的是根据其格式来创建和修改新的类。对象不能由抽象类直接创建,只可以通过抽象类派生出新的子类,再由其子类来创建对象。当一个类被声明为抽象类时,要在这个类前面加上修饰符abstract.

在抽象类中的成员方法可以包括一般方法和抽象方法。抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。当一个方法为抽象方法时,意味着这个方法必须被子类的方法所重写,否则其子类的该方法仍然是abstract的,而这个子类也必须是抽象的,即声明为abstract.

抽象类中不一定包含抽象方法,但是包含抽象方法的类一定要被声明为抽象类。抽象类本身不具备实际的功能,只能用于派生其子类。抽象类中可以包含构造方法,但是构造方法不能被声明为抽象。

调用抽象类中的方法(抽象方法和非抽象方法),如果方法是static的,直接 抽象类。方法 就可以了;如果是非static的则必须需要一个继承的非抽象类,然后用这个非抽象类的实例来调用方法。

抽象类可以实现接口,接口中的方法 在抽象类中可以不实现,当有子类继承 抽象类时,并且子类不是抽象类时,子类需要将抽象类中的 抽象方法和接口中的方法都实现

抽象类不能用final来修饰,即一个类不能既是最终类又是抽象类。

总结: abstract不能与private、static、final、native并列修饰同一个方法。

关于抽象类中的抽象方法和非抽象方法的问题相关推荐

  1. 抽象类中是否一定要有抽象方法?

    抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象. 如果一个类中有了一个抽象方法,那么这个类必须声明为抽象类,否则 ...

  2. Java抽象类中,普通方法依赖抽象方法时,抽象方法有入参的实现方法

    学些Java的抽象类和抽象方法,书中介绍一个例子: [问题描述]编写一个抽象父类SpeedMeter速度表,提供普通方法getSpeed()计算速度,给子类使用,但留给子类实现抽象方法getRadiu ...

  3. java抽象类中的方法都是抽象方法吗_抽象方法必须在抽象类中吗

    抽象方法必须在抽象类中吗2020-07-01 15:01:18文/叶丹 1.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法.2.Final类中的属性和方法都必须被final修饰符修饰.3. ...

  4. php声明一个抽象类,如何在PHP中的非抽象类中声明抽象方法?

    class absclass { abstract public function fuc(); } 报告: PHP Fatal error: Class absclass contains 1 ab ...

  5. java中怎样调用抽象类中的非抽象方法?(对原文做修改,加入一点自己理解)

    问: 例如:我有一个抽象类BaseStudentDAO,类中有一个非抽象方法load,我该怎样调用load这个方法? 答: 想调用BaseStudentDAO中的非抽象方法load,如果load方法是 ...

  6. 抽象类中的非抽象方法调用自己的抽象方法

    抽象类中的非抽象方法调用自己的抽象方法 当一个抽象类中的非抽象方法调用该类自己的抽象方法时,所调用的方法为子类的实现.例: //抽象父类 public abstract class AbstractC ...

  7. java接口有非抽象方法_[Java教程]纳尼,java可以在接口中实现非抽象方法了?

    [Java教程]纳尼,java可以在接口中实现非抽象方法了? 0 2016-09-17 18:00:20 纳尼,接口中可以定义实例方法了?! 纳尼,接口中还可以定义静态方法了?! 没错,在Java8中 ...

  8. java抽象类中必须有抽象方法吗_011 抽象类必须要有抽象方法吗?

    抽象类必须要有抽象方法吗? 答:不需要, 抽象类不一定有抽象方法:但是包含一个抽象方法的类一定是抽象类.(有抽象方法就是抽象类,是抽象类可以没有抽象方法) 解释: 抽象方法: java中的抽象方法就是 ...

  9. 在抽象类中可以没有抽象方法_是否可以在最终课程中使用抽象方法?

    在抽象类中可以没有抽象方法 这是最近在Java开发人员工作面试的电话面试中向我的一位读者提出的有趣的Java核心问题之一. 即使他知道你 无法用Java将抽象类定型为final ,他对方法的措辞感到困 ...

最新文章

  1. 语音信号处理_书单 | 语音研究进阶指南
  2. pandas 提取数字_经验轻松提取Meta原始文献特征
  3. 基于Docker搭建Redis集群(主从集群)
  4. python 大括号中括号小括号的区分
  5. ajax请求成功和失败方法_创新需要反馈和失败的新方法
  6. Spring Boot热部署
  7. 镀镍金刚石线切割硅片
  8. 计算思维(Computational Thinking)
  9. 国密PSAM卡与CPU(用户卡)操作过程 小结
  10. 微信小程序转码百度小程序
  11. android 组件透明,万能小组件透明小组件-万能小组件透明背景设置v1.0.0 安卓版_永辉资源网...
  12. linux查看磁盘及磁盘类型
  13. VS2019运行OpenGL时出现的常见错误及解决办法
  14. 孤尽训练营打卡日记day04--MySQL优化
  15. 为什么越来越多的浏览器都宣布将不支持Flash插件?
  16. ESP8266对接天猫精灵-单路继电器控制
  17. 发几个springBoot常用的banner文字图案
  18. lillietest 正态分布的拟合优度测试
  19. 阿里达摩院出手抗疫:AI算法加持,疑似病例基因分析缩短至半小时
  20. Python学习交流群、python学习群、python技术交流群

热门文章

  1. Android 手电筒的开启方法
  2. navicat 无法连接mysql10060错误
  3. 学习Three.js——后期处理(EffectComposer)
  4. mysql 查询名字包括下划线_Python 之 MySql 每日一练 329——查询名字中含有风字的学生信息...
  5. sql查询每科成绩的最高分_SQL查询语句: 查询 每科目分数最高的5项(学生姓名,科目,分数)...
  6. WAP协议研究笔记—WAP传输协议
  7. android 开发者论坛
  8. 集散控制系统是集计算机技术,集散控制系统概述
  9. 我和ChatGPT pair 整理的测试类型清单
  10. SQLiteManager 序列号 破解