java - 构造函数和零参数构造函数的区别(Java)

标签 java oop constructor

谁能告诉我构造函数和零参数构造函数之间(概念上)的区别是什么?示例:

这个实现会如何影响程序

public Person() {
firstName = "UNKNOWN";
lastName = "UNKNOWN";
gender = '?';
retired = false;
age = 0;
address = null;
}

相比于说...这个:

public Person(String f, String l, int a, char g) {
firstName = f;
lastName = l;
age = a;
gender = g;
retired = false;
address = null;
}

编辑:请忽略参数个数...

最佳答案

如果你没有为类定义构造函数,编译器会自动创建一个默认的无参数构造函数。默认构造函数调用默认父构造函数 (super()) 并将所有实例变量初始化为默认值(数字类型为零,对象引用为 null, boolean 值为 false)。

只有在没有构造函数时才会创建默认构造函数。如果您为类定义任何构造函数,则不会自动创建默认构造函数。

Can anyone tell me what the difference (conceptually) is between a constructor and a zero parameter constructor is?

没有区别。

关于java - 构造函数和零参数构造函数的区别(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15490010/

相关文章:

java - 我们可以在Java中对象的构造函数中调用对象的同步方法吗?

java - 从hibernate中的sessionfactory实体类中检索主键

java - 如何将变量从一个jsp传递到另一个jsp而不使它们成为 session 变量?

ruby - 使用多级继承而不是 ruby​​ mixins

php - 单个抽象函数/抽象重载的多个方法签名

php - 如何在 PHP 中使用 call_user_func_array 调用构造函数

java - 构造函数返回一个对象是真的吗?

java - Tomcat 6 中未部署 Soap Web 服务

java - 如何使我的 Activity 透明化?

java - 这些是多态性的例子吗?