在通过删除我认为不必要的代码来整理我的项目时,我删除了以下形式的构造函数
public MyClass(int a, int b)
保留另一个构造函数
public MyClass(double c, double d)
有一个对 int, int 构造函数的调用,我没有注意到,但它编译并运行,但调用了 double, double 版本,非常正确地导致了我编写的异常处理程序被抛出。 MyClass 不扩展任何其他类。
Java 通过什么规则导致这种不可见的自动转换发生?
最佳答案
根据这条规则:http://java.sun.com/docs/books/jls/third_edition/html/conversions.html#5.1.2
这是一个不断扩大的转变。
关于java - 我删除了必要的构造函数,但它仍然可以编译并运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5921457/