java - 在Java中,当参数为null时将选择哪个构造函数

标签 java oop null overloading constructor-overloading

<分区>

假设我有这段代码:

public class A{
    public A(String b){}
    public A(Cursor c){}
    public A(SomeClass n){}
}

现在我想创建一个 A 的实例,但我不知道当唯一的参数是 null 时将选择哪个构造函数:

A someA = new A(null);

我应该如何管理并解决这个问题?

更新

我已经对此进行了测试,它不会用 null 进行编译,但是当我使用 null 对象时,它会考虑对象的类型,例如:

String n = null;
A someA = new A(n);

它将执行public A(String b){}

这样安全吗?

最佳答案

它会导致编译错误,因为方法调用不明确

关于java - 在Java中,当参数为null时将选择哪个构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30499713/

相关文章:

oop - "getting the right level of abstraction"是什么意思?

c# - 序列化没有空值

java - 空指针伸展树(Splay Tree)

java - 如何更改 2d ArrayList 中某些 ArrayList 的大小?

java - 从 Eclipse 提交代码到 svn 时出现异常

java - java中数据库中的语句

java - 将一个对象添加到第一个类属性之一包含的另一个对象中,Java

php - 将函数的结果分配给 PHP 类中的变量?面向对象的怪异

swift - 无法解决 swift 4 中的 Null 问题?

android - 在操作栏中添加搜索小部件时遇到问题