因为什么时候必须在Java中包含一个空的构造函数?

埃里克·梅加(Erik Mejia)

遇到此问题时,我正在练习圆顶Java OO原理。我创建到POJO,并且尝试从中创建对象时,如果未定义空构造函数,则将无法编译。

我觉得这很奇怪,因为我曾经这样做过,而JVM为我提供了一个默认值。Java 7中有新功能吗?我想念什么吗?

这是我制作的示例代码

public class Dog {
String name;
String race;
int age;
/*
public Dog() {
    If this isn't included, it doesn't compile if I try to
    create no-args objects. 
}*/

public Dog (String _name) {
    this.name = _name;
}

public Dog (String _name, String _race) {
    this.name = _name;
    this.race = _race;
}

public Dog (String _name, String _race, int _age) {
    this.name = _name;
    this.race = _race;
    this.age = _age;
}

}

滑雪

Dog newDog = new Dog();在您当前的代码中,使用将不起作用,因为您尚未定义它。

当不存在其他构造函数时,才会自动生成默认构造函数。

您不必为类提供任何构造函数,但是在执行此操作时必须小心。编译器自动为任何没有构造函数的类提供无参数的默认构造函数。此默认构造函数将调用超类的无参数构造函数。在这种情况下,如果超类没有无参数构造函数,则编译器将抱怨,因此您必须验证它是否具有。如果您的类没有显式超类,则它具有Object的隐式超类,该类确实具有无参数构造函数。

来源:http : //docs.oracle.com/javase/tutorial/java/javaOO/constructors.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

什么时候必须在子类中定义构造函数?

来自分类Dev

我们什么时候必须在派生类c ++中定义一个析构函数

来自分类Dev

为什么必须在Swift中创建一个向数组添加项目的函数?

来自分类Dev

我什么时候必须添加一个空终止符?

来自分类Dev

为什么必须定义一个空的构造函数C ++

来自分类Dev

我什么时候必须在 Qt 中包含 moc*.cpp?

来自分类Dev

为什么我必须在React中将一个函数传递给'useState'的setter函数?

来自分类Dev

为什么必须在function()中包含对函数的调用

来自分类Java

在Java中,什么时候调用枚举常量的构造函数?

来自分类Dev

什么时候可以遍历一个空数组?

来自分类Dev

为什么必须在Java中子类的参数化构造函数中调用父类的参数化构造函数?

来自分类Dev

什么时候在一个文件中多次包含相同的标头有用?

来自分类Dev

为什么在每个Fragment中都必须有一个公共的空构造函数?

来自分类Java

Java实体-为什么我需要一个空的构造函数?

来自分类Java

Java:为什么扩展需要一个空的构造函数?

来自分类Dev

为什么你必须在 RxJava 中的 CompositeDisposable 上处理一个东西?

来自分类Dev

为什么我必须在此代码中添加一个新变量

来自分类Dev

究竟什么时候在java中创建了一个对象

来自分类Dev

什么时候该函数调用另一个vs什么时候使用方法依赖注入

来自分类Java

为什么会有Java单例类?您什么时候需要使用一个

来自分类Dev

因为我不能在顶层运行 await,我必须把它放到一个异步函数中——为什么我可以直接调用那个异步函数?

来自分类Dev

我什么时候想从原始指针构造一个共享指针

来自分类Java

在Java中,什么时候应该创建一个检查异常,什么时候应该是运行时异常?

来自分类Dev

什么时候在c ++中调用了复制构造函数,当我将一个对象分配给另一个对象时是否不调用它?

来自分类Dev

如何确定一个函数是否为虚函数而什么时候为虚函数?

来自分类Dev

C ++:没有匹配的调用函数:为什么需要一个空的构造函数?

来自分类Dev

什么时候我必须在方法声明中使用“ throws”一词?

来自分类Java

为什么会出现“类必须具有一个(只有一个)构造函数”错误?

来自分类Java

为什么一个空的Lambda和构造函数导致编译器错误明确的回报(Java的漏洞?)

Related 相关文章

  1. 1

    什么时候必须在子类中定义构造函数?

  2. 2

    我们什么时候必须在派生类c ++中定义一个析构函数

  3. 3

    为什么必须在Swift中创建一个向数组添加项目的函数?

  4. 4

    我什么时候必须添加一个空终止符?

  5. 5

    为什么必须定义一个空的构造函数C ++

  6. 6

    我什么时候必须在 Qt 中包含 moc*.cpp?

  7. 7

    为什么我必须在React中将一个函数传递给'useState'的setter函数?

  8. 8

    为什么必须在function()中包含对函数的调用

  9. 9

    在Java中,什么时候调用枚举常量的构造函数?

  10. 10

    什么时候可以遍历一个空数组?

  11. 11

    为什么必须在Java中子类的参数化构造函数中调用父类的参数化构造函数?

  12. 12

    什么时候在一个文件中多次包含相同的标头有用?

  13. 13

    为什么在每个Fragment中都必须有一个公共的空构造函数?

  14. 14

    Java实体-为什么我需要一个空的构造函数?

  15. 15

    Java:为什么扩展需要一个空的构造函数?

  16. 16

    为什么你必须在 RxJava 中的 CompositeDisposable 上处理一个东西?

  17. 17

    为什么我必须在此代码中添加一个新变量

  18. 18

    究竟什么时候在java中创建了一个对象

  19. 19

    什么时候该函数调用另一个vs什么时候使用方法依赖注入

  20. 20

    为什么会有Java单例类?您什么时候需要使用一个

  21. 21

    因为我不能在顶层运行 await,我必须把它放到一个异步函数中——为什么我可以直接调用那个异步函数?

  22. 22

    我什么时候想从原始指针构造一个共享指针

  23. 23

    在Java中,什么时候应该创建一个检查异常,什么时候应该是运行时异常?

  24. 24

    什么时候在c ++中调用了复制构造函数,当我将一个对象分配给另一个对象时是否不调用它?

  25. 25

    如何确定一个函数是否为虚函数而什么时候为虚函数?

  26. 26

    C ++:没有匹配的调用函数:为什么需要一个空的构造函数?

  27. 27

    什么时候我必须在方法声明中使用“ throws”一词?

  28. 28

    为什么会出现“类必须具有一个(只有一个)构造函数”错误?

  29. 29

    为什么一个空的Lambda和构造函数导致编译器错误明确的回报(Java的漏洞?)

热门标签

归档