java 为什么要在LocalDate或LocalTime中放置format(),即使没有可能的方法使用它

zujrkrfu  于 2023-11-15  发布在  Java
关注(0)|答案(1)|浏览(101)

LocalDate,LocalTime,LocalDateTime类是final类,不能从中创建对象,因此不能对非静态方法format()进行静态引用。此外,所有提到的三个类都只继承自Object类。因此,没有这三个类的超类可以访问此方法。此方法既不来自LocalDate,LocalTime,LocalDateTime实现的任何接口,LocalDateTime类,我们也不能覆盖这个方法,因为所有三个类都是final的。请解释一下上面提到的任何类中format()的本质。

b09cbbtk

b09cbbtk1#

  • "...... LocalDate,LocalTime,LocalDateTime类是final的,不能从它创建对象......"*

你的术语不正确。
Java 中,objectclass,通常是 instance
而且,当用 final 关键字定义 class 时,它不能是 encapsulated
可以创建一个 object

LocalDate ld = LocalDate.of(2023, 11, 9);
LocalTime lt = LocalTime.of(12, 34);
LocalDateTime ldt = LocalDateTime.of(2023, 11, 9, 12, 34);

字符串

  • "...所以不能对非静态方法format()进行静态引用。...."*

of 方法不同,format 方法没有定义为 static,因此您需要使用 instance 来访问它。

LocalTime lt = LocalTime.of(12, 34);
lt.format(DateTimeFormatter.ISO_LOCAL_TIME);

相关问题