`
Tony_Lee-S
  • 浏览: 79983 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于抽象类的几个关注点

阅读更多

下面是关于抽象类的值得注意的几点:

  • 抽象方法不能包含在非抽象类中。如果抽象父类的子类不能实现所有的抽象方法,那么子类也必须定义为抽象的。换句话说,在抽象类扩展的非抽象子类中,必须实现所有的抽象方法。还要注意到,抽象方法是非静态的。
  • 抽象类是不能使用new操作符来初始化的。但是,仍然可以定义它的构造方法,这个构造方法在它的子类的构造方法中调用。
  • 包含气象对象的类必须是抽象的。但是,可以定义一个不包含抽象方法的抽象类。在这种情况下,不能使用使用new操作符创建该类的实例。这种类是用来定义新子类的基类的。
  • 即使子类的父类的具体的,这个子类也可以是抽象的。例如,Object类是具体的,但是它的子类如GeometricObject可以是抽象的。
  • 子类可以覆盖父类的方法并将它定义为abstract。这是很少见的,但是它在当父类的方法实现在子类中变得不合法时是很有用的。在这种情况下,子类必须定义为abstract。
  • 不能使用new操作符从一个抽象类创建一个实例,但是抽象类可以用作一种数据类型。因此,下面的语句是创建一个元素是GeometricObject类型的数组,这个语句是正确的:

GeometricObject[] object = new GeometricObject[10];

然后可以创建一个GeometricObject的实例,并将它的引用赋值给数组,如下所示:

object[0] = new Circle();

分享到:
评论

相关推荐

    java课程设计(含源代码)

    该论文主要是讲述编写一个叫“雨一直下”的...设计实现就在分析的基础上对涉及到的几个游戏的关键点进行具体设计,得出整个要实现的总体框架及给出最后实现的结果。最后是评价总结,对优缺点、难点及扩展性等进行说明。

    java面试宝典

    JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 17 69、文件读写的基本类 17 70、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 17 71、启动一个线程是用run()还是start()? ...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

     abstract 说明一个类为抽象类,抽象类是指不能直接实例化对象的类。  final 说明一个类为最终类,即改类不能再有子类。  public 说明类为公共类,该类可以被当前包以外的类和对象使用。  private 说明类为...

    二十三种设计模式【PDF版】

    下去,浓淡几个叶子,待毛笔的水墨要干枯时,画一下树干,这样,一个活生写意的树就画出来. 我上面这些描述其实都是一种模式,创建模式的人是大师,但是拘泥于模式的人永远是工匠. 再回到传统建筑中,中国的传统建筑是过分...

    java 面试题 总结

    创建了几个String Object? 两个 28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ ...

    JAVA面试题最全集

    5.j2me程序的必需的几个部分 6.c/s与b/s的区别 7.构建一个connect pool,然后再调用它, 8.j2ee平台与dotnet平台的区别 9.ejb的life cycle 10.session bean 和 entity bean的区别 11.ejb中的transaction机制 ...

    超级有影响力霸气的Java面试题大全文档

    创建了几个String Object? 两个 31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?  SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个...

    千方百计笔试题大全

    JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 17 69、文件读写的基本类 17 70、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 17 71、启动一个线程是用run()还是start()? ...

    软件工程知识点

    它包含:软件定义、软件开发、软件运行维护三个时期,并可以细分为可行性研究、项目计划、需求分析、概要设计、详细设计、编码实现与单元测试、系统集成测试、系统确认验证、系统运行与维护等几个阶段。 软件定义...

    设计模式python模版

    单例模式(Singleton):确保一个类只有一个实例,并提供一个全局访问点。 工厂方法模式(Factory Method):定义一个接口用于创建对象,但让子类决定实例化哪个类。 抽象工厂模式(Abstract Factory):创建一系列...

    C#23种设计模式_示例源代码及PDF

    18、MEMENTO —同时跟几个 MM 聊天时,一定要记清楚刚才跟 MM 说了些什么话,不然 、 MM 发现了会不高兴的哦,幸亏我有个备忘录,刚才与哪个 MM 说了什么话我都拷贝一份 放到备忘录里面保存,这样可以随时察看以前的...

    传智播客扫地僧视频讲义源码

    20_信息系统框架集成第三方产品案例_几个重要的面向对象思想_传智扫地僧 21_作业 文档和源码 01_上一次课程回顾 02_数组指针语法梳理 03_函数指针语法梳理_传智扫地僧 04_函数指针做函数参数思想剖析_传智扫地僧 05_...

    java-servlet-api.doc

    Servlet引擎利用Java类载入工具载入一个Servlet,Servlet引擎可以从一个本地的文件系统、一个远程的文件系统以及网络载入Servlet。 Servlet的初始化 Servlet引擎载入Servlet后,Servlet引擎必须对Servlet进行初始化...

    软件工程之专题十一: 系统工程知识

    业务流程分析的目的是为了了解各个行业业务流程的过程,明确各个部门之间的关系,明确哥哥业务处理的意义,位业务流程的合理化改造提供建议,为系统的数据流程化提供 依据,主要有以下几个步骤: ①组织结构于业务...

    最新最全软件设计模式大全(完整版)

    设计模式 5.1 概述 一个围棋下得好的人知道,好的"形"对于围棋非常重要 形是棋子在棋盘上的几何形状的抽 象化 形就是模式(Pattern),也是人脑把握和认识外界...2 抽象工厂类模式 3 建设者模式 4 原型模式 5 单态模式

    最新Java面试宝典pdf版

    16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...

    Java面试宝典2010版

    16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 17.介绍一下Hibernate的二级缓存 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, ...

    Java面试笔试资料大全

    16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...

    Java面试宝典2012版

    16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message...

Global site tag (gtag.js) - Google Analytics