构造器

Posted 玛旁雍错

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造器相关的知识,希望对你有一定的参考价值。

构造器是一个方法。像普通方法一样,我们在类中定义构造器。构造器有如下基本特征:

  1.构造器的名字和类的名字相同

 2.构造器没有返回值

我们定义Deme类的构造器:

public class Test
{
public static void main(String[] args)
{
Deme aPerson = new Deme(200);
System.out.println(aPerson.getHeight());
}

}

class Deme
{
/**
* constructor
*/
Deme(int h)
{
this.height = h;
System.out.println("I‘m sorry");
}

/**
* accessor
*/
int getHeight()
{
return this.height;
}

int height;
}

 

上面的程序会打印

I‘m born
200

构造器可以像普通方法一样接收参数列表。这里,构造器Deme()接收一个整数作为参数。在方法的主体中,我们将该整数参数赋予给数据成员height。构造器在对象创建时做了两件事:

  • 为数据成员提供初始值 this.height = h;
  • 执行特定的初始操作 System.out.println("I‘m born");

这样,我们就可以在调用构造器时,灵活的设定初始值,不用像显示初始化那样拘束。

 

构造器是如何被调用的呢?我们在创建类的时候,采用的都是new Deme()的方式。实际上,我们就是在调用Deme类的构造器。当我们没有定义该方法时,Java会提供一个空白的构造器,以便使用new的时候调用。但当我们定义了构造器时,在创建对象时,Java会调用定义了的构造器。在调用时,我们提供了一个参数200。从最后的运行结果中也可以看到,对象的height确实被初始化为200。

以上是关于构造器的主要内容,如果未能解决你的问题,请参考以下文章

每天学一点Scala之class 构造器

java基础 —— 声明构造器与不声明构造器

构造器

Java构造器(构造方法/constructor)

Swift中可能失败的构造器的传播(调用)和重写

swift构造器_009-swift构造器