Java 为什么可以';我是否使用GregorianCalendar作为对象类型作为构造函数参数?

Java 为什么可以';我是否使用GregorianCalendar作为对象类型作为构造函数参数?,java,constructor,syntax-error,Java,Constructor,Syntax Error,为什么我不能使用GregorianCalendar作为对象类型作为构造函数参数 public class P(GregorianCalendar date){ 为什么我不能这样做 它给我的错误是“标记“class”上的语法错误,应该是char。”正如Jon Skeet在评论中提到的那样。下面是如何使用construtor创建一个只有一个参数的类 import java.time.LocalDate; public class P { private LocalDate date;

为什么我不能使用GregorianCalendar作为对象类型作为构造函数参数

public class P(GregorianCalendar date){
为什么我不能这样做


它给我的错误是“标记“class”上的语法错误,应该是char。”

正如Jon Skeet在评论中提到的那样。下面是如何使用construtor创建一个只有一个参数的类

import java.time.LocalDate;

public class P {
   private LocalDate date;
   public P(LocalDate date){
      this.date = date;
   }
}

这是类声明,不是构造函数声明。构造函数应该是
公共类P{…}
类声明中的
public P(gregoriacalendar date)
-并且您应该真正避免使用这个过时的、设计糟糕的类。使用java.time包的类。同时,请为自己的类使用一个有意义的名称。@JBNizet我需要一个存储日期的类型,java.time包中有几个类型,它们的设计都比GregoriaCalendar好得多,并且适用于各种用例。@user10610048仔细阅读Jon Skeet的评论。这就是你问题的答案。一旦您解决了问题,按照Jon的建议(您实际上只需要复制和粘贴代码),然后仔细阅读我的评论。日期不是java.time包的一部分。回答正确且完整。投票赞成使用现代的
LocalDate
而不是复杂、设计拙劣、过时已久的
日历。