Java-构造器

关于Java的构造器,有以下几点:

1 用构造器保证初始化:
初始化和清理是非常重要的问题,许多错误都是程序员忘记了初始化。因此,如果程序员不知道如何初始化和何时初始化或者每个人都有自己的初始化方法,则会带来很大的麻烦。
所以我们可以为编写的每个类都定义一个初始化方法Initialize(),该方法会在使用变量前提醒你要先初始化。但每个用户都必须记得自己去调用此方法。于是,Java提供构造器,保证用户在使用对象前会自动调用相应的构造器。

2 初始化与创建:
从概念上,初始化与创建是独立的概念。但在代码中,我们很少看到明确的初始化代码。在Java中,初始化是与创建捆绑在一起的。创建总是触发初始化行为。

3 构造器没有返回值:
构造器没有返回值,这与返回值为空不同。返回值为空的时候,尽管方法本身不会返回什么,但仍然可以选择让它返回别的东西。但构造器不会返回任何东西。虽然new表达式确实返回了对新建对象的引用,但构造器本身没有任何返回值。

4 默认构造器:
如果类中没有构造器,则编译器会自动帮你创建一个默认构造器,也称无参构造器。但如果你在类中定义了构造器,编译器不会再自动创建,

class  Example {
     public Example(int i){};
     public Example(String s){};
     public static void main(String args[]){
         Example e1=new Example(10);//OK
         Example e2=new Example("hello");//OK
         Example e3=new Example();//error
         }
}

5 在构造器中调用构造器:
有的时候可能需要在某个构造器中调用另一个构造器,可使用关键字this。

public class Test {
    public Test(int i){
        System.out.println(i);
    }

    public Test(int i,String s){
        this(i);//必须在最起始处调用
        System.out.println(s);
    }

    public void addInt(){
        //this(i);//Error,构造器只能在构造器的起始处调用
        System.out.println("add");

    }
    public static void main(String args[]){
        Test t=new Test(10,"hello");
    }
}
*/
Output:
10
hello
/*
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值