`

关于抽象类,继承,接口经常犯的错误

阅读更多

今天又犯了一个超级低级的错误,这个错误在很久之前犯过一次,那次搞明白了,这次又犯了。花了很长时间才弄明白。在这里记一下,以免以后再犯时容易查到错误:

1,子类继承抽象父类:首先要弄清楚抽象类是可以拥有构造方法和静态方法的,并且可以拥有静态变量和静态常量,可以被子类继承。但是抽象类不可以实例化。若父类A拥有一个有参的构造方法,没有无参的构造方法;子类B继承父类A,子类B有一个有参的构造方法,此时会报错。因为子类在实例化调用有参的构造方法的时候会默认去调用父类的无参构造方法,所以会报错。但是如果子类B在有参构造方法里super(x,y)调用父类有的构造方法,此时是不会报错的。

未完待续!

分享到:
评论

相关推荐

    面向对象程序设计与实践-Java抽象类和接口[33页].pptx

    抽象类的特点 5-1关联知识 (1)抽象类中可以有抽象方法,也可以有非抽象方法 (2)抽象类必须被继承 (3)抽象类本身不能实例化,即不能使用new运算创建对象。只有它的非抽象子类可以创建对象,而抽象类定义的对象...

    细细品味C#(抽象接口委托反射).pdf

     从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实实现。 在方法或属性声明中使用 abstract 修饰符以指示此方法或属性 不包含实现。 【抽象方法】具有以下特性:  抽象方法是隐式的 ...

    在Python中定义和使用抽象类的方法

    像java一样python也可以定义一个抽象类。 在讲抽象类之前,先说下抽象方法的实现。 抽象方法是基类中定义的方法,但却没有任何实现。在java中,可以把方法申明成一个接口。而在python中实现一个抽象方法的简单的方法...

    as3 接口类的用法和好处

    真正的抽象类跟接口一样,不 能实例化,而且,继承者必须覆盖抽象类的所有方法才可以实例化(所以这点跟接口也很相似)。AS3有内置的抽象类如 DisplayObjectContainer,大家可以尝试去用来测试实例化,继承的可行性...

    JAVA经典基础面试题及答案.docx

    继承是面向对象编程中的一个概念,它允许一个类继承另一个类的属性和方法。继承使得子类可以重用父类的代码,并添加自己的特定。 什么是多态? 多态是面向对象编程中的一个概念,它允许不同的对象以不同的方式响应...

    C# .net 入门中文视频教程(接口,运算符讲解......)

    C# 入门教程视频连接地址,该教程包含程序中的异常和错误处理、泛型、接口与抽象类、枚举集合、数组和集合等

    【05-面向对象(下)】

    •接口的继承和类继承不一样,接口完全支持多继承,子接口扩展某个父接口将会获得父接口的所有抽象方法,常 量属性,内部类和枚举类定义。 使用接口 •接口可以用于声明引用类型的变量,但接口不能用于...

    inheritance-polymorphism-java:演示和理解多态性

    此外,请访问documents文件夹内的notes.md以获取有关抽象类和接口的详细信息。 检查Output.txt以查看TestingAnimals类的输出。 ###错误报告如果您发现任何错误,请发送电子邮件至 ###进一步的工作我将为这个项目做更...

    基于java的企业级应用开发:Spring Jdbc.ppt

    接口JdbcOperations 抽象类JdbcAccessor 核心类 JdbcTemplate extends implements JdbcTemplate类的继承结构具体如下图所示: Spring JdbcTemplate的解析 从JdbcTemplate的继承关系图可以看出,JdbcTemplate类的...

    Java面试问题带答案40道.docx

    答:可以通过继承Thread类或实现Runnable接口来创建线程。另外,还可以使用Executor框架或线程池来管理线程。 3. Java中什么是抽象类? 答:抽象类是一种不能被实例化的类,只能作为其他类的基类。它可以包含抽象...

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

     接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类...

    软件人生(一个软件编程人员的心路历程)

    很好,有启前提 2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 ...1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 发

    写给大家看的面向对象编程书(第三版)

    第8章 框架与重用:使用接口和抽象类实现设计 第9章 构建对象 第10章 用UML创建对象模型 第11章 对象和可移植数据:XML 第12章 持久对象:串行化和关系数据库 第13章 对象与因特网 第14章 对象和客户/服务器...

    上海交大网络面向对象程序设计Java第一、二、三次作业答案.doc

    B) 当且仅当X 是一个接口,Y 是一个类时 C) 当X 和Y 都是类或都是接口时 D) X 和Y 是类或接口的任意组合时 10、 下面关于抽象类的声明中正确的是( B ) A) public abstract class Canine { public void speak();...

    java经典面试2010集锦100题(不看你后悔)

    下面关于抽象类描述错误的是:(选择1项) A) 抽象类的关键字是abstract,在抽象类中可以定义变量和方法。 B) 抽象类中的方法如果可以有实现体,如果没有实现体,则该方法叫做抽象方法必须加关键字abstract修饰该...

    java课程设计报告-五子棋(1).doc

    //包的定义 Import java.awt.Color //导入包关键字Import 4、接口 、接口的定义 Java中的接口可以看成是一种抽象类,它是一些抽象方法和常量的集合,其主要作用 是使得处于不同层次上以至于互不相干的类能够执行...

    java课程设计报告-五子棋.doc

    //包的定义 Import java.awt.Color //导入包关键字Import 4、接口 、接口的定义 Java中的接口可以看成是一种抽象类,它是一些抽象方法和常量的集合,其主要作用 是使得处于不同层次上以至于互不相干的类能够执行...

    java课程设计报告-五子棋(2).doc

    //包的定义 Import java.awt.Color //导入包关键字Import 4、接口 、接口的定义 Java中的接口可以看成是一种抽象类,它是一些抽象方法和常量的集合,其主要作用 是使得处于不同层次上以至于互不相干的类能够执行...

    Think in Java(中文版)-chm格式

    1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 ...

    对Java的思考(Thinking in Java) Java入门 java与C++对比 深入浅出

    1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 ...

Global site tag (gtag.js) - Google Analytics