构造函数

   一个类中包含两部分的内容(成员变量【也称之为类的属性、字段filed】、成员方法【类所具有的行为、功能】)(其实一个类中除了定义属性和方法外,还包含静态块和代码块)。我们在定义类时,就会定义出我们所关注的这个类的属性。为了保证这些的属性的安全性。我们通常将这些属性定义为private的。一旦用private 修饰这些属性我们就不能通过对象来访问这些属性了。为此我们对外开放一个方法,通过这个方法使对象能够访问到这些的属性。这些对外开放的方法就是get()和set()方法。

定义get()和set()方法的语法是:

<span style="white-space:pre">	</span>public 属性类型 get属性名(){
 <span style="white-space:pre">		</span> return 属性变量;
<span style="white-space:pre">	</span>}

<span style="white-space:pre">	</span>public void set属性名(属性类型 x){
    <span style="white-space:pre">		</span>this.x=x;
<span style="white-space:pre">	</span>}
如果我们通过这个方式给类的属性进行初始化,当我们定义的属性个数较少时此方式还是行的通。但是,一旦我们要初始化成百上千个属性呢?那不是要累成狗了吗?

那么问题就来了?我们怎么解决呢?类的构造函数就华丽丽的登场来解决这个问题了。

  构造函数的语法特点:

  【修饰符】方法名(此方法名必须与类名同名)(参数列表){方法体}

注意点:1、构造函数无返回值;2、方法名必须与类同名;3、当创建该类的实例时(就是new对象时)系统自动调用该构造函数。

当我们没有在类中显示的定义一个构造函数时,类中有一个默认的无参构造函数。我们创建对象时就会自动的调用这个默认的构造函数。我们可以通过javap -p 类名.class这个命令进行反编译查看。

当我们需要为多个属性进行初始化时,就可以通过构造函数来实现:

  public class Person{
   private String name;
   private int age;
   private char sex;
   private String ID;
   Person(String name,int age,char ssex,String ID){
    this.name=name;
    this.age=age;
    this.sex=sex;
    this.ID=ID;
  }

}
   在此我就顺带的谈一谈重载:

    何为重载呢?

    在日常生活中我们总会遇到这样的现象。让我们求一个物体的体积,同样是求体积,但是我们求不同形状的物体就需要不同参数。这就引出了重载这一概念了。在Java中的定义就是:在同一个类中,拥有相同名称的方法,但是方法的参数列表中传送不同的参数的一类方法集合叫做重载。重载的意义在于便于编程人员进行编程,将具有相同的一类功能的方法定义成相同的名称。

重载的特点:

1、在一个类中;2、具有相同的方法名;3、参数列表不同,起表现形式有3种(1、参数类型不同、2参数个数不同、3、参数顺序不同)。

   通常我们在一个类中定义重载的构造函数外还会在定义一个无参的构造函数。这是因为一旦我们显示的定义一个构造函数就会覆盖系统默认的构造函数,当我们在创建一个对象时,只为调用其方法而不用初始化属性时就会简化工作。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值