`

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

 
阅读更多

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

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

未完待续!

分享到:
评论

相关推荐

    C#类、接口、虚方法和抽象方法-抽象类和接口的相同点和区别

    5. 接口可以有多重继承,而类只能单继承抽象类。 现在,让我们看看抽象类和接口的相同点和区别: 相同点: 1. 都可以被继承,为派生类提供共享的行为和属性。 2. 都不能被实例化,只能作为其他类的基础。 3. 都...

    Java抽象类接口与多态PPT教案学习.pptx

    Java抽象类接口与多态PPT教案学习 Java抽象类接口与多态是Java编程语言的核心概念,本篇资源文件将详细介绍Java中的抽象类、接口和多态的概念、特点和应用。 一、抽象类 抽象类是Java中的一种特殊的类,它不能被...

    抽象类、接口、内部类、异常

    课后作业中的问题涉及到抽象类、接口、内部类的特点和区别,异常处理机制以及关键字`this`、`super`、`final`的用法,包机制,访问权限修饰符,接口实现与类继承的区别等Java基础知识。实践题要求设计实现接口、ATM...

    java学习资料抽象类,接口,内部类

    Java编程语言中,抽象类和接口是两种重要的概念,它们都是用于实现多态性和代码的组织,但有各自的特点和用途。在这个Java学习资料中,我们重点探讨抽象类、接口和内部类。 首先,抽象类是一种不能实例化的类,它...

    由Javascript的继承引发的:抽象类、接口、多态,甚至是类型转换!

    在标题“由JavaScript的继承引发的:抽象类、接口、多态,甚至是类型转换!”中,我们可以深入探讨这些概念在JavaScript中的应用和实现。 首先,让我们从继承开始。JavaScript的继承基于原型链(prototype chain)...

    JAVA抽象类和接口讲义PPT教案学习.pptx

    Java中的抽象类和接口是面向对象编程中的两个关键概念,它们用于实现代码的复用和扩展,同时也为类提供了一种规范化的结构。在Java中,抽象类是一种不能被实例化的类,它用来定义共同的属性和行为,供其子类继承。而...

    java 抽象类练习题

    5. 抽象类与接口的继承与实现:选项A是正确的。Java中,一个类只能单继承另一个类,但可以实现多个接口。接口之间可以通过`extends`关键字进行多继承。 6. 实现接口:选项D是正确的。`J_Interface`接口中的`mb_...

    Chrome_x32_v74.0.3729.169.zip_chrome_X32_V74_抽象类和接口

    在这个版本的更新日志中,我们可能找到关于抽象类和接口使用的具体例子,比如哪部分代码进行了重构以利用抽象类,或者引入了哪些新的接口以增强可扩展性。 抽象类和接口的使用有助于提高代码的可读性、可维护性和可...

    深入浅出分析Java抽象类和接口【功能,定义,用法,区别】

    "深入浅出分析Java抽象类和接口" Java中的抽象类和接口是两个非常重要的概念,它们都是OOP编程中抽象的体现形式。...它们之间的主要区别在于抽象类主要用于类继承,而接口主要用于定义行为的抽象。

    抽象类接口与异常处理PPT教案学习.pptx

    【抽象类与接口】 在Java编程中,抽象类和接口都是用于实现多态性和封装抽象概念的关键工具。抽象类是一种不能实例化的类,它通常包含了至少一个抽象方法,即没有方法体的方法。抽象方法的定义如下: ```java ...

    Java,C#,C++在继承,覆盖和多态,抽象类等几个方面的比较归纳

    本文将深入探讨它们在继承、覆盖、多态和抽象类这几个关键概念上的异同。 首先,让我们从继承说起。继承是面向对象编程的核心特性,允许子类从父类中继承属性和方法。在Java中,类的继承使用关键字`extends`,而C#...

    介绍Java的抽象类和接口的使用.docx

    4. **抽象类可以不含抽象方法**:抽象类本身可以不包含任何抽象方法,这种情况下,它主要作为基础结构供其他类继承。 ```java public abstract class Animal { // 可能包含非抽象方法等 } ``` 5. **抽象类可以...

    java实验 面向抽象与接口编程

    3. 实现抽象类和接口:创建具体类,继承抽象类并实现接口。例如,创建`Circle`和`Square`类,继承自`Shape`并实现`Drawable`接口。 4. 多态性运用:在主程序中,使用父类引用指向子类对象,调用抽象方法或接口方法...

    C++- 抽象类(存虚函数)、接口、多重继承1

    在C++编程语言中,抽象类(Abstract Class)和接口(Interface)是实现多态性和设计灵活性的重要概念,而多重继承则是C++中允许一个类继承多个父类的特性。这些概念在构建复杂软件系统时尤其有用,但也伴随着一些...

    java 接口 类 继承 多态的简单实例

    首先,**接口(Interface)**是Java中的一个重要概念,它是一种完全抽象的类,只能包含常量定义和抽象方法。接口用于定义对象间的行为规范,使得不同的类可以通过实现同一接口来共享相同的行为。接口间的多继承特性...

    java基础学习(继承与接口的区别及产生原因)

    这意味着,任何实现该接口的类都必须提供这些抽象方法的具体实现,否则该类也必须被声明为抽象类。接口的这种特性使得不同类之间可以共享相同的行为模式,同时保持了代码的灵活性和可扩展性。例如,如果多个类需要...

    Java程序设计课程实验9-继承和抽象类

    Java程序设计课程实验9主要关注的是继承和抽象类的概念及其应用。在面向对象编程中,继承是实现代码重用和创建类层次结构的关键机制。抽象类则是用来作为其他类的基类,它不能被实例化,但可以包含抽象方法,这些...

    第7章--继承和接口设计-习题.docx

    - 接口中所有成员默认都是抽象的,没有实现,继承接口的类必须提供这些方法的实现。选项A正确,B错误,C正确,D正确。 9. **虚方法与重写**: - 虚方法允许运行时动态绑定,更灵活。定义虚方法时,只需在基类中...

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

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

    C++抽象类 实用例子

    在C++编程语言中,抽象类是一个非常重要的概念,它为其他类提供了一种模板或者接口,但不能被实例化。抽象类通过包含至少一个纯虚函数来定义,这些函数没有具体的实现,需要由派生类来重写。在本实例中,我们将深入...

Global site tag (gtag.js) - Google Analytics