关于Java类构造函数的问题

时间:2010-03-09 15:33:58

标签: java

有人可以告诉我这是什么意思吗?我正在阅读Java书籍,我遇到了这个例子:

public class Message {

    Message(){}

    public Message(String text){
        this.text = text;
    }

Message(){}意味着什么?

3 个答案:

答案 0 :(得分:10)

这是一个不带参数的包私有空构造函数。

您可以使用它new Message();从同一个包中的任何代码创建新的Message实例。

值得知道它不会初始化text字段,因此该字段将保留默认的null值。

答案 1 :(得分:1)

就像

一样
Message()
{
}

但使用较少的线条。

它的访问级别是(默认)包访问级别,这意味着只有同一个包中的类可以使用此构造函数实例化此对象。

答案 2 :(得分:1)

Message类定义了两个构造函数。第一个(默认构造函数)的范围限定为包级别可见性。这意味着只有同一个包中的类才能执行如下代码:

Message msg = new Message();

包外的所有类都必须调用第二个构造函数。