`

JAVA super关键字以及 构造方法

 
阅读更多

1、调用父类的构造方法:super(), or super(parameters);

注:不像属性和方法,父类的构造方法是不被子类继承的,只能从子类的构造方法中用super关键字来调用。

2、super必须放在构造方法的第一行。

 

3、构造方法可以调用重载的构造方法(使用this关键字)或他的父类的构造方法(使用super关键字),如果没有被显式的调用,编译器会自动把super()作为构造方法的第一条语句。

4、构造方法链 就是在构造一个实例的时候,将会调用沿着继承链的所有父类的构造方法。

5、最好能够为每一个类提供一个无参构造方法,以便于对该类进行扩展的时候避免错误。

例如:

public class Apple extends Fruit{
}

class Fruit {
     public Fruit(String name){
          System.out.println("this constructor is invoked");
     }
}

 

 由于Apple没有构造方法,于是在新建实例的时候,Apple的默认无参构造函数会被调用,默认构造函数又会调用Fruit的无参构造函数,但是Fruit没有这个函数,所以编译错误。

 

 

 

分享到:
评论

相关推荐

    java中super关键字的三种用法

    Java 中的 super 关键字有三种用法:在子类的构造函数中调用父类的构造方法、在子类中访问父类的成员变量或方法、在子类的构造函数中直接传递参数给父类的构造方法。 首先,在子类的构造函数中,super 关键字可以...

    Java super关键字用法实战案例分析

    主要介绍了Java super关键字用法,结合具体案例形式分析了java super关键字调用父类构造方法、属性及方法等相关操作技巧与注意事项,需要的朋友可以参考下

    AbstractTest.java帮助理解多重继承、抽象方法重写调用、super、this关键字、构造方法、重载知识点

    定义抽象类以及抽象方法,构造方法,将子类1定义为抽象类,子类2继承子类1,子类2重写抽象方法。用以帮助理解多重继承、抽象方法重写调用、super、this关键字使用、构造方法、重载这几个的知识点

    java关键字总结

    总结了Java学习中的52个关键字(包括一些总结),如果觉得自己Java基础知识需要总结一下的,可以下载下来瞧瞧 2.this和super 1>在你的方法中的某个刑参名与当前对象的某个成员有相同的名字,这 时为了不至于混淆,...

    Java中super关键字

    必须把super放在函数的首位,如果想用super继承父类构造的方法,但是没有放在第一行的话,那么在super之前的语句,肯定是为了满足自己想要完成某些行为的语句,但是又用了super继承父类的构造方法。那么以前所做的...

    Java中this与super的区别

    静态方法,也就是类方法中不能有this和super关键字 1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位. 复制代码 class Base { Base() { System.out.println("Base"); } } public ...

    在Java中有两个非常特殊的关键词: this和super

    this和super ,这两个变量在使用前都是不需要声明的.this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象.super变量是直接指向超类的构造函数,用来引用超类中的变量和方法....

    Java面向对象总结

    在JAVA中使用关键字extends 3.调用子类的构造方法时,会先调用父类的构造方法。默认隐式调用父类无参数的构造方法 4.如果要在子类的构造方法中显式调用父类的构造方法。使用super(参数列表),但是这行代码必须是在 ...

    java中this与super用法

    在 Java 中,this 和 super 是两个重要的关键字,它们都是用于访问当前对象或父类中的成员变量或方法的。 this 用法 this 的用法在 Java 中大体可以分为三种: 1. 普通的直接引用 在类的成员方法中,可以使用 ...

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    在Java中, 可以使用final关键字修饰类、方法以及成员变量。 (1).final标记的类不能被继承; (2).final标记的方法不能被子类复写; (3).final标记的变量即成为常量,只能被赋值一次. 注意: 如果使用final来...

    java关键字.docx

    super:超类,用于调用父类的构造方法或方法。 switch:开关,用于switch语句中的不同情况。 synchronized:同步,用于实现线程同步的方法。 this:这个,用于引用当前对象。 throw:抛出,用于抛出一个异常。

    任务二:编写主题类、回复类,实现多态

    需要完成的任务 ...(1)主题类继承帖子类,并增加属性:主题id、版块id ...(3)帖子类的getInfo ()方法实现多态 (4)使用super关键值调用父类构造方法 2.技能训练 ...(3)会使用super关键字调用父类构造方法

    Java入门教程(微学苑)-part1

    4.2 Java super关键字 63 4.3 调用隐藏变量和被覆盖的方法 63 4.4 调用父类的构造方法 64 4.5 继承中的方法的覆盖和重载 65 4.6 多态和动态绑定 66 4.7 动态绑定 69 4.8 instanceof 运算符 70 4.9 多态对象的类型...

    java继承与多态教学及练习

    1继承的概念 2继承的实现 3变量隐藏与方法覆盖 4super关键字 5 子类的构造顺序 6Object类 7 final关键字

    java复习题

    * 类A的构造方法可以在子类B的构造方法中被调用,语句格式为super(x)(问题10) 三、继承 * 子类继承父类的所有方法和属性,但私有属性和方法除外(问题11) * 子类可以继承父类的所有方法和属性,但需要使用...

    java基础.txt

    //创建对象需要调用类的构造方法 构造方法:类名() 特点:方法名和类名相同,没有返回值类型 public Person(){ private String name; public void setName(String name){ this.name = name; } } public ...

    JAVA基础知识精华总结 收藏

    (1) 类可以没有构造方法,但如果有多个构造方法,就应该要有默认的构造方法,否则在继承此类时,需要在子类中显式调用父类的某一个非默认的构造方法了。 (2) 在一个构造方法中,只能调用一次其他的构造方法,并且...

    java继承例题

    类B继承自类A,并使用super关键字访问超类A的成员变量和成员方法。在main方法中,我们创建了一个B类的对象,并访问了它的成员变量和成员方法。 【例 4.6】:多层继承 在这个例子中,我们定义了三个类:A、B和C。类...

    JAVA语言程序设计【高清版】.pdf

    64 5.2.2 默认的构造方法 66 5.3 定义方法 67 5.3.1 方法定义格式 68 5.3.2 按值传递 71 5.4 类的继承 72 5.4.1 继承的定义 73 5.4.2 多态性与转换对象 74 5.5 继续讨论Java的关键字 77 5.5.1 ...

    JAVA理论知识基础复习

    JAVA理论知识基础复习 构造方法 new关键字 方法的重载 特殊变量this 关键字static 定义常量 继承 方法的重写 特殊变量super 多态性 等相关知识点总结

Global site tag (gtag.js) - Google Analytics