一、构造器的作用
定义在类中的,可以用于初始化一个类的对象,并返回对象的地址。
eg:Car c =new Car(); Car()就是一个构造器
二、构造器的格式
三、构造器的分类和作用
无参构造器(默认存在的):初始化对象时,成员变量的数据均采用默认值。
有参构造器:在初始化对象的时候,同时可以接收参数为对象进行赋值。
package com.study.oop.constructor;
public class Car {
String name;
double price;
//无参构造器
public Car(){
System.out.println("无参构造器被调用了");
}
public Car(String n,double p){
System.out.println("有参数构造器被调用了");
name=n;
price=p;
}
}
package com.study.oop.constructor;
//认识构造器,明白2种类型构造器的作用
public class Test01 {
public static void main(String[] args) {
//通过调用构造器得到对象
Car c =new Car();
c.name="bmw";
c.price=39.26;
System.out.println(c.name);//null为默认值
System.out.println(c.price);//0.0为 默认值
//调用有参构造器
Car c2 =new Car("bmw",39.27);
System.out.println(c2.name);
System.out.println(c2.price);
}
}
三、构造器的注意事项
任何类定义出来,默认就自带了无参数构造,写不写都有。
一旦定义了有参数构造器,无参构造器就没有了,如若还需使用,需要在定义的类种手写一个。
四、this关键字
1.this关键字出现在构造器和成员方法中,代表当前对象的地址
2.this关键字可以指定当前访问对象的成员
package com.study.oop.thisdemo;
public class Car {
String name;
double price;
public Car() {
System.out.println("无参数构造器种的this" + this);
}
public void run() {
System.out.println("方法中的this" + this);
}
public Car(String name, double price) {
this.name = name;
this.price = price;
}
}