Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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_Constructor_Default Constructor - Fatal编程技术网

如何在Java中将对象声明为字段?

如何在Java中将对象声明为字段?,java,constructor,default-constructor,Java,Constructor,Default Constructor,我一直收到Java错误构造函数LocalDate(int,int,int)不可见。我正在尝试创建一个私有字段并初始化它 如何正确执行此操作: 导入java.time.LocalDate; 公开课注册{ 私人注册日期=新的LocalDate.of(0,0,0); } ... 最大的问题可能是您不应该使用new关键字,因为您没有调用LocalDate的构造函数LocalDate.of()只是一个与其他方法一样可以调用的方法 您还应该声明注册日期是什么类型。因此,请尝试: private Local

我一直收到Java错误
构造函数LocalDate(int,int,int)不可见
。我正在尝试创建一个私有字段并初始化它

如何正确执行此操作:


导入java.time.LocalDate;
公开课注册{
私人注册日期=新的LocalDate.of(0,0,0);
}
...

最大的问题可能是您不应该使用
new
关键字,因为您没有调用
LocalDate
的构造函数
LocalDate.of()
只是一个与其他方法一样可以调用的方法

您还应该声明注册日期是什么类型。因此,请尝试:

private LocalDate registrationDate = LocalDate.of(0,0,0);
试试这个

private LocalDate registrationDate = LocalDate.of(0,0,0);

有两个错误,第一个是您没有声明变量
registrationDate
的类型,第二个是这里不需要
new
,因为您使用的是
LocalDate
类的静态方法。

LocalDate。of
是您在Java中所称的静态方法。静态方法不要求您创建类的新版本。相反,他们需要操作的所有东西都通过方法的参数传递到方法中。要解决此问题,请删除
new
关键字

您也没有设置registrationDate对象的类型。与Kotlin等可以推断类型的其他语言不同,在Java中,您需要确切地说明类型是什么。为此,您需要在
private
registrationDate
之间放置一个LocalDate

综上所述,应该是这样的:

private LocalDate registrationDate = LocalDate.of(0,0,0);

它没有
new
,它是一个静态方法
,of
生成一个新对象:
=LocalDate.of(0,0,0)
去掉
新的
,并为变量提供一个类型。