读书笔记:java的构造方法

l  作用:构造方法是用来对对象进行初始化。

l  语法规则:与类名相同;不能声明返回类型,不能被staticfinal等修饰符修饰,但可以被public等访问权限修饰。

l  构造方法可以重载,并且在构造方法中可以调用成员函数。

l  java允许在一个构造方法中用this语句调用另一个构造方法,用super语句调用父类的构造方法;但是this语句和super语句都要放在构造方法的第一句(两者一般不会同时使用)。

l  默认构造方法是指没有参数的构造方法。Java语言规定一个类至少有一个构造方法,如果用户没有提供任何构造方法,那么编译器提供一个隐含的默认构造方法,无参,方法体为空。

l  子类调用父类构造方法的顺序:

在创建子类的对象时,JVM首先执行父类的构造方法,然后再执行子类的构造方法,在多层继承下,首先从继承树的最上层开始执行。

如果子类没有用super语句调用父类的构造方法,通过构造方法创建子类对象时,JVM会自动先调用父类默认构造方法。如果出现父类没有提供默认构造方法(父类定义了带参的构造方法但没有定义默认构造方法),那么编译报错。

 

 

 

 

class Base{

  Base(int i){

       System.out.println("call Base(int i)");

  }

}

public class Sub extends Base{

  Sub(){ 

       this(0);

       System.out.println("call Sub()");

  }

  Sub(int i){

       super(i);

       System.out.println("call Sub(int i)");

  }

  public static void main(String[] args){

    Sub sub = new Sub();

  }

}

 

打印输出:

call Base(int i)

call Sub(int i)

call Sub()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值