java构造_java构造方法

构造方法是类里面特殊的一种方法,这个方法会在创建这个类的对象的时候执行,用于初始化一部分内容.比如 一个日记,在默认情况下记录的时间应该是当天,那么你就可以写这样的类

class Note{

Date date;

public Note(){

this.date = new Date(); //new Date表示当天的日期

}

}

这个含义就是你每次建立一个日记,这个日记的日期就会自动设置为当天.

构造函数可以有参数 比如

class Note{

public Note(Date date){}

} 这个类里面的构造函数有参数 那么创建对象的时候要用 new Note(date) date是一个日期,创建对象的时候括号里写什么参数,那么这个对象创建的时候就会用与之相匹配的构造函数进行初始化.

每一个类都会至少有一个构造函数,你不写类里面也会有一个默认的构造函数,你自己写构造函数,那么类里面就没有默认构造函数了,这一点很重要,比如:

class Note{

} 这个类里面没有写构造函数,他会有一个默认的构造函数. 创建对象的时候用 new Note() 没错.

class Note{

public Note(Date date){}

} 这个类里面自己写了一个构造函数,那么默认的构造函数不存在,创建对象要用 new Note(date),而new Note() 这个就是错的,因为类中没有 public Note()这样的函数.

构造函数的继承:

子类在调用构造函数之前要先调用父类的构造函数.

比如

class Parent{

public Parent(){

System.out.println("父类调用");

}

}

class Child extends Parent{

public Child(){

System.out.println("子类调用");

}

}

这时候你创建Child对象的时候 就会先输出 "父类调用",然后输出 "子类调用"

另外子类构造函数中可以显示的执行父类的构造函数 比如 public Child(){ super(); }

也可以选择父类的某一个构造函数 比如 public Child(){ super(date)}

这就相当于调用父类的 public Parent(Date date) 这个构造函数.

这里要注意:如果想在子类中显示调用父类的构造函数,那么 super这句话一定要在子类构造函数的第一行.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值