教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Java培训:默认构造方法

更新时间:2022年07月26日09时49分 来源:传智教育 浏览次数:

  在Java中的每个类都至少有一个构造方法,如果在一个类中没有定义构造方法,系统会自动为这个类创建一个默认的构造方法,这个默认的构造方法没有参数,方法中没有任何代码,即什么也不做。

  下面程序中Student类的两种写法,效果是完全一样的。

  第一种写法:

class student {
}

  第二种写法:

class Student {
    public Student () {
    }
}

  对于第一种写法,类中虽然没有声明构造方法,但仍然可以用new Student()语句创建Student类的实例对象,在实例化对象时调用默认的构造方法。

  由于系统提供的构造方法往往不能满足需求,因此,通常需要程序员自己在类中定义构造方法,一旦类定义了构造方法,系统就不再提供默认的构造方法了,具体代码如下:

class Student {
    int age;
    public Student (int n) {
        age = n;
    }
}

  上面的Student类中定义了一个有参构造方法,这时系统就不再提供默认的构造方法。下面再编写一个测试程序调用上面的Student类,如文件3-8所示。

  文件3-8 Example08.java

public class Example08 {
    public static void main (String[] args) {
        Student stu = new Student () ;      // 实例化Student对象
    }
}

  运行文件3-8编译器会报错,错误信息如图3-13所示。

  图3-13 文件3-8编译错误信息

  从图3-13可以看出,编译器提示无法将Student类的无参构造方法应用到有参构造方法,原因是调用new Student()创建Student类的实例对象时,需要调用无参构造方法,而Student类中定义了一个有参的构造方法,系统不再提供无参的构造方法。为了避免上面的错误,在一个类如果定义了有参构造方法,最好再定义一个无参构造方法。

  需要注意的是,构造方法通常使用public进行修饰。

0 分享到:
和我们在线交谈!