public abstract class Parent {public abstract void dosomething();public void say(){dosomething();System.out.println("www.jianshu.com");}}
public class Children extends Parent{@Overridepublic void dosomething() {System.out.println("张三来啦");}public static void main(String[] args){Children c = new Children();c.say();}}

执行结果
“张三来啦”

分析:

记住:抽象方法是不能调用的,原因就是抽象方法没有方法体。但是,在一个类中定义了一个抽象方法,在这个类 或 这个类的子类 中是可以调用的。为什么可以调用呢?因为,具有抽象方法的类,一定是一个抽象类,而抽象类在被继承的时候,必须重写这个抽象类的抽象方法,而且,抽象类不能实例化,在使用这个抽象类的时候,使用的一定是这个抽象类的子类。故,你在 抽象类 或 抽象类的子类 中可以使用这个抽象方法,是因为当真正实例化去使用的时候,使用的是子类重写后的实例方法。

抽象类调用自己的抽象方法,实现来自子类相关推荐

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

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

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

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

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

    抽象类中调用自己的抽象方法 先看代码 public abstract class CompositionTemplate {public final String template(String ti ...

  4. Java 设计一个抽象类Printer和它的两个子类BlackPrinter(黑白打印机)和ColorPrinter(彩色打印机)

    设计一个抽象类Printer和它的两个子类BlackPrinter(黑白打印机)和ColorPrinter(彩色打印机) 要求如下: (1) 抽象类Printer有brand(品牌)属性,一个包含一个 ...

  5. Java编程---(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式。(2)定义3个类:Tank,Flighter,

    题目:(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式. (2)定义3个类:Tank,Flighter,WarShip ...

  6. java画板抽象类_java 中的 抽象方法 抽象类 和 接口有啥瓜葛

    文章目录 什么是java中的抽象方法 抽象方法是一种特殊的方法: 它只有声明,而没有具体的实现 例如: abstract void eat(); 上面定义了一个方法 eat() ,有修饰关键词 abs ...

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

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

  8. (1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式。 (2)定义3个类:Tank,Fl

    代码 /*第一题:(1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move()这两个方法分别表示武器的攻击方式和移动方式.(2)定义3个类:Tank,Flighter,War ...

  9. 接口和抽象类的区别是什么?抽象类必须要有抽象方法吗?抽象类能使用 final 修饰吗?

    接口和抽象类的区别是什么? •接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),而抽象类可以有非抽象的方法. •接口中的实例变量默认是 final ...

最新文章

  1. Matlab图形用户界面编程初级入门
  2. 科大星云诗社动态20210417
  3. 【Netty】TCP粘包和拆包
  4. 什么是命名空间 为什么C++需要使用命名空间
  5. C/C++开发者必不可少的15款编译器+IDE
  6. python安装虚拟环境出现错误_virtualenv 安装虚拟环境问题 请大神指点一二
  7. 如何学好Spring
  8. Swoole 2019 :化繁为简、破茧成蝶
  9. GCN pytorch实现 笔记
  10. 【hive】hive(hive cli)中显示列名,不带表名
  11. mysql基础之数据库备份和恢复的基础知识
  12. A2DP AVRCP,蓝牙音频协议的兄弟组合(1)
  13. iPad服务器怎样修复,如何修复iphone、ipad的Netflix错误11800
  14. java给pdf加水印_java pdf添加水印
  15. Android系统裁剪 apk
  16. 关于使用Python——写模拟手机通讯录查询系统
  17. Redis - 几款可视化工具
  18. 计算机通电后自动断电,电脑自动断电,教您电脑开机自动断电怎么解决
  19. 2020科目一考试口诀_2021驾考科目一技巧口诀
  20. 如何把token存储到本地和headers中

热门文章

  1. Hadoop Yarn内存使用优化配置
  2. 正则表达式 2. 单字符或
  3. 4 项目开发 - 后台
  4. JS中this关键字
  5. iOS开发 贝塞尔曲线UIBezierPath(后记)
  6. 创客运动引发第三次工业革命
  7. cookie中文乱码
  8. Jacobi迭代法与Gauss-Seidel迭代法
  9. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL,spring获取context
  10. 【Python】判断列表中是否存在一个数