Java简明教程系列(4) - 构造器

构造器会在对象创建的时候对其进行初始化。构造器的名字和类名相同,在句法上和方法非常相似,然而,构造器没有指明返回的类型。

通常,我们在构造器里对类里的定义的实例变量进行赋初始值,或者执行创建对象时需要执行的任何初始化过程。

不管你定义一个构造器或者不定义,所有的类都有构造器。这是因为如果不定义构造器的话,Java会自动创建一个构造器使所有的实例变量初始化为0。然而,一旦你手动定义了一个构造器,默认的构造器就不会被调用。

 

语法

下面代码是定义一个构造器的基本语法结构:

class ClassName {
   ClassName() {
   }
}

Java允许定义两种构造器,分别是:

  • 无参构造器
  • 带参构造器

 

无参构造器

正如名字所体现的那样,Java中的无参构造器不接受传入参数,这样一来,所有创建的对象的实例变量都会被初始化为固定的值。

例子

 

Public class MyClass {
   Int num;
   MyClass() {
      num = 100;
   }
}

通过下面的代码可以调用构造器来初始化对象:

 

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass();
      MyClass t2 = new MyClass();
      System.out.println(t1.num + " " + t2.num);
   }
}

上面的代码的输出结果为:

100 100

带参构造器

大多数情况下,我们需要在对象初始化时赋上我们想要设置的值,这就需要有一个接收参数的构造器来使对象进行初始化。和方法中传入参数的写法一样,我们只要在构造器名字后面的括号里加上参数声明。

举个例子

下面是一个简单的带参构造器:

 

//一个简单的构造器例子
class MyClass {
   int x;
   
   //定义带参构造器
   MyClass(int i ) {
      x = i;
   }
}

这样调用构造器来初始化对象:

 

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass( 10 );
      MyClass t2 = new MyClass( 20 );
      System.out.println(t1.x + " " + t2.x);
   }
}

上面代码的输出为:

 

10 20

本篇小结

更多交流,欢迎加群(584017112):

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章