专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java修炼终极指南:43. 使用Xlint检查默认构造函数

temp10 2024-10-17 16:21:46 java教程 11 ℃ 0 评论


我们知道,如果一个Java类没有显式构造函数,那么它会自动获得一个“不可见”的默认构造函数,用于设置实例变量的默认值。以下House类就属于这种情况:

Java修炼终极指南:43. 使用Xlint检查默认构造函数

public class House {  
     
  private String location;  
  private float price;  
  // ...  
}


如果这正是我们想要的,那么没有问题。但是,如果我们关心默认构造函数被类公开到公共导出的包中的事实,那么我们必须考虑使用JDK 16+。JDK 16+添加了一个专用的lint工具,用于警告我们关于那些具有默认构造函数的类。为了利用这个lint工具,我们需要遵循两个步骤:

1. 导出包含该类的包

2. 使用`-Xlint:missing-explicit-ctor`(或`-Xlint`, `-Xlint:all`)进行编译

在我们的例子中,我们在module-info中导出modern.challenge包,如下所示:

module P43_XlintDefaultConstructor {  
  exports modern.challenge;  
}


一旦你用`-Xlint:missing-explicit-ctor`编译代码,你将看到一个警告,类似于下面的图:



图 2.30 – 由-Xlint:missing-explicit-ctor产生的警告

现在,你可以很容易地找出哪些类具有默认构造函数。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表