类的成员:构造器(构造方法)

构造器的特征
    它具有与类相同的名称
    它不声明返回值类型。(与声明void不同)
    不能被static、final、synchronized、abstract、native修饰,不能有return语句返回值

构造器的作用 
    如:

Order o = new Order();
Person p = new Person(Peter,15);

 如同我们规定每个“人”一出生就必须先洗澡,我们就可以在“人”的构造方法中加入“洗澡”的代码程序,于是每个“人”一出生就会自动完成洗澡,
    程序就不必再在每个人刚出生时一个一个告诉他们要“洗澡”了。

构造器(constructor  构造方法)
ps:构造方法和之前的方法完全不是一回事,没有任何关系。
constructor:建造者
作用:创建对象

Person p1 = new Person(); //Person() 为构造器(每个类都会自动生成一个空参构造器)


PS:之前说对象创建的时候,没new出一个类,类就会初始化,初始化的原因就在于构造器,如果用默认提供的空参构造器的话,
    类中的属性初始化就会为null、""(空)、或者为0等,就是属性的默认赋值。

    那么也就是说如果在构造器中加入参数,那么初始化的值则不再为属性的默认赋值,而是传入的参数。
    和方法一样,在写有参数的构造的时候括号内的参数为形参,构造器内容会描述如何调用参数。
    在创建对象进行使用的时候加入的是实参,实参则是new出来的对象属性初始化的值。
EG:

String str = new String("com.wangce");
     System.out.println(str);


    new出一个String对象str,调用了其中一个构造器,构造器内写入的实参就是str初始化的值。所以打印str为:com.wangce

作用:给创建的对象的属性赋值(初始化对象的属性)

1、设计类时,若不显示声明类的构造器的话,程序会默认提供一个空参构造器。
PS:类是抽象的,如果你要想他能够执行一个程序,我们需要造对象,从类到对象是必须的,那么构造器也就是必须的。
PPS:记住抽象的意义:是对实体的描写,就是一个设计图纸,还没有生成。也就是说类如果想生成对象,必须需要构造器。

2、一旦 显示的 定义类的构造器,那么默认的构造器不再提供。 
EG:person p = new person();
    这是在testPersons类中声明person类,通过空参创建了一个p对象。
    
    而一旦person类中定义了一个构造器,那么空参构造器就会自动失效,那么上面通过空参创建的类也会报错。如果还想用空参创建类
    就必须再定义一个空参。
    public person(String n){
     name = n;
    }
    PS:此构造器形参定义了一个String类型的参数,使用这个构造器的时候传入一个String类型的参数,那么person类中的name属性就会被
    传入的String 类型参数赋值。
         String ss ="ss";
     Person p2 = new Person(ss);
     System.out.println(p2.getName());//输出为ss。

     或者 Person p2 = new Person("ss");
      System.out.println(p2.getName());//输出为ss。 

如何声明类的构造器:格式,权限修饰符 类名(形参)
                           public person(){}
PS:必须是类名。形参就是给类的属性赋值的。

类的多个构造器之间构成重载。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值