构造函数

*构造函数是什么*
构造函数是在创建对象时被自动调用的特殊方法,用以初始化对象。
*定义构造函数*
构造函数采用与类相同的名称,没有返回值。(与返回值为空void完全不同)
没有任何形参的构造器叫做默认构造器,作用是创建一个默认对象。
如果类中没有写构造器,那么编译器会自动创建一个默认构造器;
如果已经定义了构造器(不管有没有参数),编译器便不会自动创建。
*构造函数重载*
构造函数与一般方法一样可以重载,即允许多个构造器同时存在,以便满足不同的初始化对象需求。通过每个构造函数独一无二的参数类型列表区分不同的构造函数。在创建对象时,编译器通过判断传入的形参类型,调用相应的构造器初始化对象。
*构造函数中调用构造函数*
已经知道,可以为一个类定义多个构造器,有时候想要在一个构造器中调用另一个构造器,以避免代码重复,可以用this关键字调用。下面是一个简单的程序示例。

public class Flower{
    int count = 0;
    String s = "initial value"
    Flower(int flowers){
        count = flowers;
        System.out.println("Constructor int args")
    }
    Flower(String ss){
        s = ss;
        System.out.println("Constructor String args")
    }
    Flower(int flowers,String ss){
        this(flowers);
        //!this(ss);//can't call two
        System.out.println("int&String args");
    }
    Flower(){
        this(20,"rose");
        System.out.pritnln("Default Constructor ");
    }
    void printCount(){
        //!this(20);//no inside Constructor
        System.out.pritnln("count = "+count+",s = "+s);
    }
    public static void main(String[] args){
        Flower rose = new Flower();
        rose.printCount();
    }
}

程序输出:
Constructor int args
int&String args
Default Constructor
count = 20,s = rose

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值