`
ivywjhua
  • 浏览: 22060 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java constructor 在构造子类时,一定会调用到父类的构造方法

阅读更多
sub class must call base class's constructor
    sub class will invoke base class's constructor implicityly
    if super constructor  is undefined, must explicitly invoke another constructor

子类以一定要调用到父类方法。
子类可以隐式的调用父类默认的构造方法。
如果父类没有默认构造方法,必须显示调用。


Constructor call must be the first statement in the constructor
    super()   or   this(...)
super和this要在第一个statement,不能被同时调用

default constructor is equivalent to the following code
public ASubClass(){
    super();
}
默认构造函数会调用父类构造方法

if no constructor defined, compiler will create a default one
如果没有默认构造函数,compiler会帮忙生成一个

转载个例子:
class A{
public A(){} // 1:无参数构造方法。
public A(String s){} // 2.
}

class B extends A{
public B(String s){
   super(s); // 3.
}
}


记住一点:在构造子类时,一定会调用到父类的构造方法。因为父类中的元素也需要被初始化。
所以父类要么有一个默认的无参数构造,这样Java会自动调用这个无参数的构造。如果父类没有无参数的构造,那么就要你自己在子类的构造中,通过super()的方式调用父类的构造。
0
0
分享到:
评论

相关推荐

    JS在子类中用Object.getPrototypeOf去调用父类方法

    总结一下,`Object.getPrototypeOf`是JavaScript中用于获取对象原型的关键工具,它在子类调用父类方法时起到了桥梁的作用。通过理解原型链的工作原理,我们可以更有效地实现继承和代码复用。在实际开发中,正确地...

    java 构造器的调用

    - 当我们创建一个类的实例时,会自动调用构造器来设置初始状态。例如: ```java class MyClass { int x; MyClass(int value) { x = value; } } MyClass obj = new MyClass(5); // 这里就调用了构造器 ``` ...

    构造方法JAVA构造方法

    - 抽象类的子类在实例化时,必须调用抽象类的构造方法来初始化父类的状态。 总结,Java构造方法在创建和初始化对象时起着至关重要的作用。通过理解并熟练运用构造方法,开发者可以更好地设计和实现类,提高代码的...

    java 构造方法的资源

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

    Java构造函数的继承问题[收集].pdf

    这意味着在创建子类对象时,虽然会先调用父类的默认构造函数初始化父类部分,但子类还需要有自己的构造函数来完成自身的初始化。 3. **构造函数调用顺序**: - 在创建子类对象时,首先调用父类的默认构造函数,...

    java 静态块实例块构造器调用

    在Java继承体系中,子类会继承父类的非私有成员,包括静态块、实例块和构造器。调用顺序如下: 1. **静态块的执行顺序**:首先,从父类到子类,按照定义的顺序依次执行静态块。这意味着父类的静态块先于子类的静态...

    JAVA技术专题综述之构造方法篇

    这意味着,当创建`Two`类的对象时,会先初始化所有的成员变量,然后再调用构造方法。 **示例4**:静态成员变量的初始化。 ```java class One2 { One2(String str) { System.out.println(str); } } class Two {...

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

    - **构造方法**:`super`用于调用超类的构造器,确保子类在实例化时能正确初始化父类的状态。同样,`super`调用必须位于构造方法的第一行。 - **普通方法**:`super`用于调用被重写的超类方法,确保在子类中能够执行...

    构造函数继承.关于java

    2. **构造函数调用顺序**:在子类构造函数中,必须先调用父类的构造函数(使用`super`),然后再执行子类构造函数中的其他代码。 3. **构造函数的可访问性**:子类只能访问具有相同或更宽松访问级别的父类构造函数。...

    Java super关键字使用

    当子类继承父类时,有时候我们需要在子类的构造函数中调用父类的构造函数。Java中的`super`关键字用于在子类构造函数中显式调用父类的构造器。例如: ```java class Parent { public Parent() { System.out....

    Java入门理解构造器

    - **使用`this`调用构造器**:在一个构造器内部,可以使用`this(参数列表)`来调用同一类中的另一个构造器。这种调用必须是构造器的第一条语句。 - **使用`super`调用父类构造器**:在一个构造器内部,可以使用`...

    构造函数的继承问题 笔记

    在面向对象编程语言如Java中,构造函数(Constructor)是一种特殊的方法,用于初始化新创建的对象。它与类同名,没有返回类型,并在创建对象时自动调用。 在Java中,构造函数可以被重载以提供不同的初始化方式,但...

    java kok 构造与析构函数

    当涉及到构造函数和析构函数时,子类在创建实例时会先调用父类的构造函数,确保父类的状态被正确初始化。这是通过在子类构造函数中使用`super()`关键字来实现的。例如: ```java public class ParentClass { ...

    面向对象之继承-JAVA面试资料

    在创建子类实例时,子类的构造器通常会首先调用父类的构造器,然后再进行子类自身的初始化工作。 例如: ```java public class Person { protected String name; protected int age; protected String sex; ...

    Java常问到的几个中级以上问题

    - java.lang.reflect.Constructor:表示类的构造器,用于在运行时创建类的新实例。 反射机制的主要应用场景包括:动态加载类、实现插件系统、处理JavaBean、框架开发等。尽管反射提供了很大的灵活性,但使用不当...

    java精典编程100例 20

    在这个例子中,当创建`Child`类的对象时,会首先调用父类`Parent`的构造函数。 #### 5. 方法重写(Override) 子类可以重写父类的方法,以提供不同的实现。为了重写一个方法,子类必须声明一个与父类完全相同的...

    【Java】80例及结果

    在Java中,当一个类(子类)继承自另一个类(父类)时,子类的构造函数在被调用时,会先自动调用父类的构造函数,以确保父类部分的初始化先于子类进行。这在上述的Cartoon.java代码示例中得到了体现,其中的Art、...

    java面向对象编程基础案例

    4. 子类调用父类方法:除了使用`super`关键字外,子类还可以通过`this`关键字来调用同一类中的其他构造器,或者在覆盖父类方法时调用`super.someMethod()`来执行父类的方法。这种方式可以确保子类既实现了自己的逻辑...

    EXT dojochina Ext类构造方法.rar

    当创建一个类的实例时,构造方法会被自动调用。在Ext JS中,每个类都有一个对应的构造函数,用于设置初始状态和执行必要的初始化操作。 Ext类的构造方法通常以`Ext.extend()`开头,这是Ext JS中实现继承的关键方法...

    Java中子类和父类之间的调用关系

    例如,当创建`Professor`对象时,会按照`Professor` -> `Teacher` -> `Employee` -> `Object`的顺序依次调用构造器。 以下是一个示例,展示了如何在子类中正确调用父类构造器: ```java class Employee { public ...

Global site tag (gtag.js) - Google Analytics