Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 构造函数及其使用方法_Java_Parameters_Constructor_Default - Fatal编程技术网

Java 构造函数及其使用方法

Java 构造函数及其使用方法,java,parameters,constructor,default,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(){ n

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

例如,如果我有代码:

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


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

该字段获得默认字段值:0表示数字,null表示对象。如果默认值不是您想要的,则必须在单参数构造函数中设置另一个字段的值。

为什么“默认构造函数”的名称是小写的,为什么构造函数在类之外?-1请确保编译代码(除非问题是代码为什么不编译)。很抱歉,我写这篇文章只是为了解释这个问题(更简单=)。所以我认为最好的做法是从get go中给出实例变量值。。。i、 e String name=“battleship.”如果是这种情况,默认构造函数将如何操作?是否为public ship(){未使用代码块b/c默认值}