具有范围限制的 Java 类构造函数参数

标签 java constructor

我是 Java 的新手,我问这个问题只是为了帮助我更好地理解 OOP。

假设我正在定义一个名为 Hour 的新类。要实例化这个类,我们需要指定一个整数来表示这个实例的小时。

Hour hr = new Hour(16); // this means to define an hour that indicates 4pm.

所以我们在这里定义Hour Class时,构造函数的参数应该在[0, 24)范围内。我们如何定义这样的参数,当指定的参数超出此范围时我是否可以抛出错误?

谢谢。

最佳答案

您可以使用 IllegalArgumentException .

Thrown to indicate that a method has been passed an illegal or inappropriate argument.
example

public class Hour
{
    Hour(int hour)
    {
       if(hour>=24 || hour<0)
        {
           throw new IllegalArgumentException("Hour should in the range of [0-23].");
       }
   }
  ...............
}  

关于具有范围限制的 Java 类构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18578967/

相关文章:

javascript - 非常奇怪的对象创建 JS 基准测试

Java静态final字段初始化顺序

java - 如何在opencv java中裁剪检测到的人脸图像

java - Spring MVC Rest 客户端获取 HttpClientErrorException : 404 null

java - 创建 JAX-WS 客户端以利用 .NET Web 服务(需要身份验证)

java - Java构造函数中的StringBuffer?

java - 运行 JavaFX 应用程序 : JFXPanel vs Application. 启动

java - 使用 help-mojo 阶段和 maven-plugin-plugin 编译 Maven 插件

delphi - 使用虚拟构造函数重置为初始状态

delphi - 重新引入构造函数的可见性