构造方法,也称构造函数,构造器
特点:与类名同名,没有返回值类型,创建对象时自动调用
语法:方法修饰词,类名(参数列表){ 方法体 }
用处:1.创建对象(实例化)2.初始化成员变量
package day01;
/*
* 构造方法,也称为构造函数,构造器
* 特点:与类名同名,没有返回值类型,创建对象时自动调用
* 语法:方法修饰词 类名(参数列表){方法体}
* 用处:1.创建对象(实例化)2.初始化成员变量
*
* 2022/10/11
*/
public class Test3_Constructor {
public static void main(String[] args) {
new Car();
Car c = new Car("川崎");
System.out.println(c.getName());
Car c2 = new Car("川崎",888888);
new Car(222.2);
}
}
class Car{
/*
* 手动定义构造方法,编译器会默认提供一个无参构造
* 如果我们自己定义了构造方法,则编译器不再提供
*/
public Car(){
System.out.println("无参构造");
}
private String name;
public String getName() {
return name;
}
//构造方法的重载
public Car(String name){
this.name = name;
}
// 添加price属性,定义构造方法同时给name和price赋值,并测试
public double price;
/*
* 快捷生成构造方法:generate - Constructor -
* 1.无参:select none 2.有参:选择需要的属性,然后点OK
* @param price
*/
public Car(double price) {
/*
* this([参数])可以在构造方法中调用本类的其他构造方法
* 调用时必须放在构造方法体的第一行,否则会有编译报错
*/
// this();//调用无参构造
this("长安",10);
System.out.println("有参构造");
this.price = price;
}
public Car (String name, double price){
this.name = name;
this.price =price;
}
private String color;
public Car(String name, double price, String color) {
this(name,price);//复用
this.color = color;
}
/*
* 普通方法也可以与类同名,因为有返回值类型,不会被识别为构造方法,
* 但是不符合普通方法的命名规范,不推荐
*/
public void Car(){
System.out.println("与类同名的普通方法");
}
}