使用条件调用构造函数的Java

bluesky1年前 ⋅ 182 阅读

ChatGPT的回答仅作参考:

在Java中,可以使用条件调用构造函数来根据不同的条件选择不同的构造函数进行实例化。以下是一个示例:

```java
public class MyClass {
    private int value;

    public MyClass(int value) {
        this.value = value;
    }

    public MyClass(String str) {
        this(Integer.parseInt(str));
    }

    public static void main(String[] args) {
        String input = "10";
        MyClass obj;

        if (input.matches("\\d+")) {
            obj = new MyClass(Integer.parseInt(input));
        } else {
            obj = new MyClass(input);
        }

        System.out.println(obj.value);
    }
}
```

在上面的示例中,`MyClass`类有两个构造函数,一个接受一个整数参数,另一个接受一个字符串参数。在`main`方法中,根据输入的字符串是否匹配数字的正则表达式,选择使用不同的构造函数进行实例化。

如果输入的字符串是一个数字,那么将使用`MyClass(int value)`构造函数实例化对象。如果输入的字符串不是一个数字,那么将使用`MyClass(String str)`构造函数实例化对象。

最后,打印出对象的`value`属性的值。

全部评论: 0

    相关推荐