构造方法又称构造函数、构造器,constructor
作用:通过构造方法的调用可以创建对象
语法结构:
修饰符列表 构造方法名(形参){
构造方法体;
}
普通方法:
修饰符列表 返回值列表 方法名(形参){
方法体;
}
构造方法返回值类型不需要指定,并且不能写void,加了void就变成普通方法了。
普通方法调用:类名.方法名(实参)、引用.方法名(实参)
构造方法调用:new 构造方法名(实参)
有返回值么?有,但是不需要写,Java自动返回值,返回值类型就是类本身,所以不需要写返回值类型。
public User(){}
当一个类没有定义任何构造方法,系统默认给该类提供一个无参数的构造方法,称为缺省构造器。
public User(int a)
当一个类将构造方法定义出来了,系统将不会提供缺省构造器。(建议手动写无参构造方法)
构造方法支持重载机制(参数不同)
作用:创建对象,给实例变量赋值
成员变量之实例变量属于对象级别的变量,必须先有对象才能有实例。在堆中
有快捷键:右击–source–g c u f
public class ConstructorTest01 {
public static void main(String[] args) {
// 调用带有static的方法
ConstructorTest01.doSome();
doSome();
// 调用不带static的方法,类中没有任何构造系统默认提供一个无参构造器
ConstructorTest01 t = new ConstructorTest01();
t.doOther();
}
public static void doSome(){
System.out.println("do some");
}
public void doOther() {
System.out.println("do other");
}
}
public class ConstructorTest01 {
public static void main(String[] args) {
Account acc1 = new Account();
System.out.println("账号:" + acc1.getActno());
System.out.println("余额:" + acc1.getBalance());
Account acc2 = new Account("110");
System.out.println("账号:" + acc2.getActno());
System.out.println("余额:" + acc2.getBalance());
}
//账户类
public class Account {
//账号
private String actno;
//余额
private double balance;
//无参构造器
public Account() {
//actno = null
//balance = 0.0
}
public Account(String s) {
actno = s;
}
public String getActno() {
return actno;
}
public void setActno(String actno) {
this.actno = actno;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
}