内容简介:Java之抽象类
抽象类居然和我理解的类不大一样,它居然是一种规范哎。。。
一、特点
- 方法只有申明没有实现时,必须定义为抽象方法,被abstract修饰;抽象方法必须定义在抽象类中,该类必须备abstract修饰。
- 抽象类不可以被实例化(即new)。why?因为调用抽象方法没意义。
- 抽象类被继承后,其子类必须覆盖所有的抽象方法,该子类才可以实例化,否则,这个字类还是抽象类。
二、疑问
-
抽象类有构造函数吗?
有,用于给子类对象进行初始化。
-
抽象类可以定义非抽象方法吗?
可以。但是毫无意义,因为抽象类不可以被实例化。
-
抽象关键字不可以和哪些关键字共存?
private 不可以,抽象类的所有抽象方法是一种规范。
static 不可以。static不需要对象,但是抽象类需要对象。
final不可以。final不可以覆盖,而抽象类需要被覆盖。
-
抽象类和一般类的异同点?
相同点:
抽象类和一般类都是描述事物的,都在内部定义了成员。
不同点:
- 一般类有足够的信息描述事物,抽象类描述事物的信息可能不足;
- 一般类中不能定义抽象方法,而抽象类中是可以的。
- 一般类可以被实例化,抽象类不可以被实例化。
-
抽象类一定是父类吗?
是的。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程语言实现模式
Terence Parr / 李袁奎、尧飘海 / 华中科技大学出版社 / 2012-3-20 / 72.00元
《编程语言实现模式》旨在传授开发语言应用(工具)的经验和理念,帮助读者构建自己的语言应用。这里的语言应用并非特指用编译器或解释器实现编程语言,而是泛指任何处理、分析、翻译输入文件的程序,比如配置文件读取器、数据读取器、模型驱动的代码生成器、源码到源码的翻译器、源码分析工具、解释器,以及诸如此类的工具。为此,作者举例讲解已有语言应用的工作机制,拆解、归纳出31种易于理解且常用的设计模式(每种都包括通......一起来看看 《编程语言实现模式》 这本书的介绍吧!