Java编程思想第四版 第五章初始化与清理 5.1构造器确保初始化

构造器:在创建类的时候,会优先自动执行的初始化方法。
例子:

package java_5;

public class Rock {
//构造方法
    Rock(){
        System.out.print("Rock \n");
    }
}

创建方法的时候自动执行。

package java_5;

public class SimpleConstructor {
    public static void main(String[] args){
        for (int i = 0;i<10;i++){
            new Rock();
        }
        /**
         * 控制台输出
         Rock
         Rock
         Rock
         Rock
         Rock
         Rock
         Rock
         Rock
         Rock
         Rock
         */
    }
}

创建对象时:
new Rock();
将会为对象非配存储空间,并调用对应的构造器。
请注意,由于构造器名称必须与类名完全相同,所以“每个方法首字母小写”得代码风格并不适用构造器。
不接受任何参数的构造器叫默认构造器,java文档中通常使用属于无参构造器,但是默认构造器在java出现很多年前就已经使用许多年了,所以我倾向于使用它。但和其他方法一样 构造器也能带有形式参数,一边指定如何创建对象。例如:

package java_5;

/**
 * 有参数的构造器
 */
public class Rock2 {
    public Rock2(int i) {
        System.out.print("Rock " + i + " \n");
    }
}
package java_5;

public class SimpleConstructor2 {

    public static void main(String[] args){
        for (int i = 0;i<10;i++){
            new Rock2(i);
        }
        /**
         * 控制台输出
         Rock 0
         Rock 1
         Rock 2
         Rock 3
         Rock 4
         Rock 5
         Rock 6
         Rock 7
         Rock 8
         Rock 9
         */
    }
}

有构造器形式参数,就可以在初始化对象时提供实际参数。例如,假设Tree有一个构造器,它接受一个整型变量来表示参数
树的高度,就可以这样创建一个Tree对象:
Tree t =new Tree(12);
如果Tree(int)是Tree类中唯一的构造器,那边编译器不会允许你以其他任何方式创建Tree对象。
构造器使用中特殊类型的方法,他没有返回值。这与返回值为空不同。对于空返回值,尽管方法本身不会自动返回什么,但是仍可以让它返回别的东西。构造器则不会返回任何东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值