Java的构造器

Java的构造器保证了成员变量得到恰当的初始化。 用一个例子来解释这句话,假设我是Person类的设计者;我需要别人在创建Person对象的时候,赋予这个对象性别、体重,否则就不可以创建Person对象;那么我如何保证这件事呢?

public class Person {
    String gender;
    float weight;
}

我用构造器保证。

public class Person {
    String gender;
    float weight;
    
    public Person(String gender, float weight) {
        this.gender = gender;
        this.weight = weight;
    }
}

我在设计这个类的时候,定义一个带有这两个参数的构造器;你在new这个对象的时候,只能通过这个构造器创建;只要你想创建Person对象,那么你一定没法忽略对这两个成员变量的初始化,否则你就没法创建。

接下来我们来具体谈谈Java的构造器特征:

  • 1.构造器的名字要与类名完全一致。
  • 2.构造器不定义返回数据类型,这与定义返回数据类型为void是有区别的。

这两条应该算是构造器的基本特征,知道这两个你就可以自己定义类的构造器了。

进阶:

  • 1.如果我们不定义构造器,编译器会给我们一个默认的无参构造器。

  • 2.如果我们定义了一个构造器,编译器将不会再给我们提供默认构造器。

  • 3.可以通过方法重载定义多个不同参数的构造器,使得别人可以通过多种方式创建这个类。

    public class Person {
        String gender;
        float weight;
        
        public Person() {
            
        }
    
        public Person(String gender) {
            this.gender = gender;
        }
        
        public Person(String gender, float weight) {
            this.gender = gender;
            this.weight = weight;
        }
    }
    

有的时候通过构造器在创建对象的时候给成员变量赋值,相比于使用Set方法,本身也是一种很方便的赋值方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值