我理解关键字“this”用于在另一个构造函数中调用构造函数。在下面的代码中,我不明白为什么在调用构造函数时使用NULL,如下所示:
this(filename, null);
以下是完整的代码:
class Image {
Image(String filename) {
this(filename, null);
System.out.println("Image(String filename) called");
}
Image(String filename, String imageType) {
System.out.println("Image(String filename, String imageType) called");
if (filename != null) {
System.out.println("reading " + filename);
if (imageType != null) {
System.out.println("interpreting " + filename + " as storing a " +
imageType + " image");
}
}
// Perform other initialization here.
}
}
答案 0 :(得分:0)
在评论中已经提到过这一点,但是你的第一个构造函数不知道图像类型,因此它不能合理地传递null
以外的任何内容。第二个构造函数可以很好地处理该参数的null
,因此不存在破坏的风险。