java - 构造函数及其使用方式

标签 java parameters constructor default

我正在阅读我的编程文本,我认为这是一个关于构造函数的非常合乎逻辑的问题。

例如,如果我有代码:

public class Ship{
   String name;
   int position;

   public Ship(int position){
      this.position = position;
   }
   public Ship(String name){
      this.name = name;
   }
   public Ship(){
      name = "Titanic";
      position = 0;
   }
}

因此,如果我的行话正确,Ship() 就是默认构造函数。而带参数的构造函数是初始化构造函数。

这就是背景……这是我的问题!当我使用包含参数的构造函数之一时,正在使用的字段(在本例中为另一个字段)会发生什么情况。例如,当我调用 Ship(5) 时,name 数据字段的值是多少?它采用默认值,还是仅采用数据类型的默认值?

这是否意味着如果我调用这个单参数构造函数,我必须为另一个字段设置一个值?

最佳答案

任何未初始化的实例变量都会由 Java 赋予默认值。基本类型的值为 0,引用类型为 null

您不必初始化这些值,但为了清楚起见,最好显式初始化所有值。

关于java - 构造函数及其使用方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20134490/

相关文章:

java - 这个和类名的区别

java - 用于自定义文件类型的 Android Intent Filter

java - log4j2 Web 查找不工作

java - 如何在 Cobertura 中获取新代码的代码覆盖率?

java - 当我尝试调用主方法之外的方法时出现 NullPointerException

c++: argv 包含一些空格

java - Avro - 反序列化 POJO

java - 在java中按值传递对象

java - 更改 Eclipse 中的构造函数模板,以便它调用 setter

javascript - javascript构造函数和object.create可以结合使用吗?