java的构造方法的理解与限定

首先java在new出一个子类的时候,第一步先看看这个类有哪些父类,先吧父类从最顶层到最下一层加载到jvm中(静态的属性和方法也一并加载)。然后此时才去构建对象,先去调用顶层父类的构造方法构造父类对象,然后一层一层往下调用构造方法去创建对象。最后才是调用这个子类的构造方法去创建对象。

注:有一个父类,一个子类。当去构建子类对象实例的时候首先自动构建父类的对象(没有父亲就没有孩子),这个时候如果父类有一个带参数的构造方法,这个时候在子类中需要显示指定调用父类的带参数的构造方法。不然就报错。

识别合法的构造方法; 


  1:构造方法可以被重载,一个构造方法可以通过this关键字调用另一个构造方法,this语句必须位于构造方法的第一行;
    重载:方法的重载(overload):重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。  


  2 当一个类中没有定义任何构造方法,Java将自动提供一个缺省构造方法;
  3 子类通过super关键字调用父类的一个构造方法;
  4 当子类的某个构造方法没有通过super关键字调用父类的构造方法,通过这个构造方法创建子类对象时,会自动先调用父类的缺省构造方法
  5 构造方法不能被static、final、synchronized、abstract、native修饰,但可以被public、private、protected修饰;
  6 构造方法不是类的成员方法;
  7 构造方法不能被继承。

猜你喜欢

转载自blog.csdn.net/qq_28081081/article/details/80485567