也称为构造方法、构造函数。
(1)方法名与类名相同
(2)没有返回值类型
(3)不能被static、final、synchronized、abstract、native修饰
public class Circle { private double radius; //构造器 public Circle(){ System.out.println("创建对象"); } }
(1)用于创建对象
执行Circle circle = new Circle();
,调用了构造方法
(2)初始化对象
public Circle(double radius){ this.radius = radius; }
执行下面语句,发现对象的属性赋值好了
Circle circle1 = new Circle(2.0); System.out.println(circle1.radius);//2.0
不定义构造器,发现也能使用Circle circle = new Circle();
。
说明系统默认提供了一个空参构造器,一个类中至少有一个构造器。
默认构造器的权限修饰符和类一样。
只定义如下构造器,再使用之前的系统默认构造器Circle circle = new Circle();
。
public Circle(double radius){ this.radius = radius; }
发现报错了,说明显示定义了构造器后系统默认构造器就失效了
相当于方法重载,参数个数或类型不同
public Circle(){ System.out.println("创建对象"); } public Circle(double radius){ this.radius = radius; }