一、构造方法
1、简单说明
在创建对象时,自动调用的方法为构造方法,它没有返回值,最大的作用就是用来存放类的属性信息(存放、转换)。同时,在定义类的时候,java会给每一个类都提供一个默认无参构造函数,即:
public 类名(){
//无方法体
}
因此我们在新建对象时,都需要new 类名();
也就是类名后面加个括号来调用默认无参构造函数。
2、不使用构造方法
public class Test01_Chair{
String color;
String position;
int size = 10;
public void state(){
System.out.println("一张" + color + "色的椅子在" + position);
}
public static void main(String[] args){
Test01_Chair c1 = new Test01_Chair();
c1.color = "红";
c1.position = "客厅";
Test01_Chair c2 = new Test01_Chair();
c2.color = "棕";
c2.position = "卧室";
c1.state();
c2.state();
}
}
可以看到,在每次创建对象时都需要单独给对象的属性赋值,显得很麻烦。
3、使用构造方法
public class Test01_Chair{
String color;
String position;
int size = 10;
public Test01_Chair(String color, String position){
this.color = color;
this.position = position;
}
public void state(){
System.out.println("一张" + color + "色的椅子在" + position);
}
public static void main(String[] args){
Test01_Chair c1 = new Test01_Chair("红色","客厅");
Test01_Chair c2 = new Test01_Chair("棕色","卧室");
c1.state();
c2.state();
}
}
使用了构造方法,在每次创建对象时,传入参数,就会将参数赋值为对象的属性,在调用和其他操作时就显得很方便了。
二、构造方法重载
1、简单说明
构造方法的名字相同,但是参数的个数或类型不同,这个时候就需要用到构造方法重载。也就是创建类时使用同一个类名,但是调用的是不同的构造函数。这样可以让我们有更多的方式、更自由地去创建对象。
2、重载构造练习
public class Test01_Chair{
String color;
String position;
int size;
public Test01_Chair(String color, String position){
this.color = color;
this.position = position;
}
public Test01_Chair(String color, String position, int size){
this(color, position);
this.size = size;
}
public void state(){
System.out.println("一张" + color + size + "寸大的的椅子在" + position);
}
public static void main(String[] args){
Test01_Chair c1 = new Test01_Chair("红色","客厅");
Test01_Chair c2 = new Test01_Chair("棕色","卧室");
Test01_Chair c3 = new Test01_Chair("灰色","厨房",12);
c1.state();
c2.state();
c3.state();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)