`
jguangyou
  • 浏览: 375773 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java中默认构造方法和子父类构造方法的继承调用

阅读更多

1.       默认构造方法:

默认构造方法是没有参数的构造方法,可以简单的分为两种:

(1)       隐含的默认构造方法

(2)       程序显式定义的构造方法

java语言中,每个类至少有一个构造方法,为了保证这一点,如果用户定义的类中没有构造方法,那么java语言将自动提供一个隐含的默认构造方法,该构造方法没有参数,用public修饰,没有返回值,并且方法体为空,例如:

       public ClassName(){}

当然在程序中也可以明确的定义默认构造方法,

如果在类中定义了一个或者多个构造方法,并且所有的构造方法都有参数,这个类就失去了默认的构造方法。如果想保留默认的构造方法,必须显式的定义出来。例如:

       public class Test(){

              public Test(String name){System.out.println(name);};

              public Test(int age){System.out.println(age);}

}

对于这个类,如果要定义一个对象 Test test = new Test();这个就是错误的,因为没有这个构造方法,如果想这样定义,必须显式的定义默认构造方法。

2.       子类调用父类的构造函数

父类的构造函数不能被子类继承,但是在子类对象被创建时,如果不显式调用父类的构造方法,这是子类会调用父类的默认构造方法。如果要调用父类的其他构造方法(带参构造方法),必须出使用super显式的指

使用super必须遵循一下规则:

(1)       在子类的构造方法中不能直接使用父类的构造方法名称直接调用,而必须使用super语句

(2)       如果在子类的构造方法中时用super调用父类的构造方法,他必须作为构造方法的第一条语句出现。

总结

       在创建子类的对象时,java虚拟机首先执行父类的构造方法,然后再执行子类的构造方法,在多重继承的情况下,将从最顶层的类的构造方法开始执行,然后依次执行各个类的构造方法。

分享到:
评论

相关推荐

    java中的继承(子类调用父类构造方法还不懂).doc

    ### Java中的继承(子类调用父类构造方法) #### 一、继承的基本概念 Java是一种支持面向对象编程的语言,其中“继承”是一项核心特性。继承允许创建一个新的类(称为子类或派生类),该类继承了现有类(称为父类...

    浅谈Java程序中的构造方法调用.pdf

    在上例中,Son 类没有父类,也没有显示定义构造方法,所以调用默认的无参构造方法来创建对象 S。如果在类 Son 中显示定义了一个或多个带参数的构造方法,创建对象时 Java 编译器会根据创建的对象语句中的参数的个数...

    Java继承时构造函数的调用

    Java中的继承机制是面向对象编程的核心特性之一,它允许子类继承父类的属性和方法,从而实现代码的复用和扩展。在这个场景中,我们关注的是Java继承时构造函数的调用规则。 首先,每个Java类都有一个或多个构造函数...

    java构造方法

    但如果父类中没有无参构造方法,或者需要在子类中传递特定参数到父类构造方法,则需要使用`super()`关键字显式调用父类的构造方法。 #### 六、构造方法调用的顺序 在类的继承结构中,构造方法的调用顺序遵循自底...

    详解 Java继承关系下的构造方法调用

    * 如果父类没有定义构造方法,则调用编译器自动创建的不带参数的默认构造方法。 * 如果父类定义了public的无参构造方法,则在调用子类的构造方法前会自动先调用该无参的构造方法。 * 如果父类只有有参的构造方法,...

    构造方法JAVA构造方法

    - **通过子类的构造器**:子类在构造过程中,可以使用`super()`调用父类的构造方法,确保父类的初始化完成。 ```java public class Parent { public Parent() { System.out.println("Parent constructor called")...

    Java中的构造方法分析.pdf

    除了默认构造器和参数化构造器,Java还支持构造方法的重载,即在同一个类中定义多个构造方法,它们具有不同的参数列表。这样可以根据需要提供多种创建对象的方式。 关于构造方法的继承,Java中类的继承并不包括构造...

    java 构造方法的资源

    当一个类继承自另一个类时,子类的构造方法可以使用`super`关键字调用父类的构造方法,确保父类的状态得到正确初始化。例如: ```java public class Student extends Person { private String major; public ...

    论JAVA继承机制中父类与子类的关系

    如果父类没有无参构造器,则必须在子类构造器中显式调用父类构造器,通常使用`super(参数列表);`。 - 如果子类中定义了与父类同名的成员变量,父类的成员变量将被隐藏。同样地,如果子类定义了与父类同名且具有相同...

    Java父类继承代码示例

    在Java编程语言中,继承是面向对象编程的一个关键特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。这有助于实现代码重用,并且可以创建层次结构的类系统,使代码更加模块化。下面我们将深入探讨Java中...

    java 构造器的调用

    在Java编程语言中,构造器...了解和掌握构造器的调用、初始化、默认构造器、继承中的构造器调用以及构造器重载等概念,是编写高质量Java代码的基础。通过熟练运用这些知识,可以更有效地管理对象的生命周期和状态。

    Java继承时构造函数的调用[借鉴].pdf

    在继承关系中,子类继承父类的成员变量和方法,但是在实例化子类对象时,需要调用父类的构造函数。今天我们将探讨Java继承时构造函数的调用机制。 在Java中,每个类都有一个默认的无参数构造函数,這个构造函数是由...

    java 子类构造方法

    Student() { // 默认构造方法 name = "Unknown"; age = 0; } Student(String name) { // 传入姓名的构造方法 this.name = name; age = 0; } Student(int age) { // 传入年龄的构造方法 this.age = age; ...

    Java 构造方法

    Java 构造方法是编程语言中的一个重要概念,特别是在面向对象编程中,如Java。它们是类的特殊方法,用于初始化新创建的对象。当一个对象被创建时,构造方法会被自动调用,为对象的成员变量赋值,进行必要的设置,...

    Java中构造方法的特点.pdf

    8. **构造方法链**:在继承关系中,子类的构造方法可以通过`super`关键字调用父类的构造方法,确保父类的数据也被正确初始化。 以上就是Java中构造方法的基本特点和作用。在实际编程中,合理利用构造方法可以提高...

    Java语言程序设计教学中构造方法的研究.pdf

    5. 父类构造方法的调用:在Java的继承体系中,子类可以通过super()语句来显式调用父类的构造方法。如果子类构造方法的定义中没有显式调用父类的构造方法,则编译器会自动插入一个对父类无参数构造方法的调用。但是,...

    子类需不需要调用父类有参或者无参问题1

    这是因为在这种情况下,没有默认的无参构造方法供子类调用,如果不显式指定,编译器无法确定应该调用哪个父类构造方法。因此,显式调用`super`是必要的,以确保父类的正确初始化。 三、父类同时拥有有参和无参构造...

    Java 接口与继承

    5. 创建子类对象时,会按照一定的顺序进行初始化:首先是默认初始化,然后绑定构造方法参数,接着调用父类构造函数,最后执行实例变量的显性初始化和构造方法的主体代码。 接口在Java中是一种完全抽象的类,它只...

    java中构造方法和方法全面解析.pdf

    在Java编程语言中,构造方法和普通方法是两种不同的成员函数,它们各自有着特定的用途和规则。构造方法主要用于初始化类的新实例,而普通方法则是完成特定任务的代码块。 构造方法的关键特性包括: 1. **名称匹配*...

Global site tag (gtag.js) - Google Analytics