在 Java 8 中,除了默认方法外,您还可以在接口中定义静态方法。
静态方法是与其定义的类相关联的方法,而不是与任何对象相关联的方法。该类的每个实例都共享其静态方法。
这使您可以更轻松地在库中组织帮助程序方法。您可以将特定于接口的静态方法保留在同一接口中,而不是在单独的类中。
以下示例定义了一个静态方法,该方法检索
ZoneId
与时区标识符相对应的对象;如果没有ZoneId
与给定标识符对应的对象,它将使用系统默认时区。(因此,您可以简化方法getZonedDateTime
)
这是代码:
也可以看看public interface TimeClient { // ... static public ZoneId getZoneId (String zoneString) { try { return ZoneId.of(zoneString); } catch (DateTimeException e) { System.err.println("Invalid time zone: " + zoneString +"; using default time zone instead."); return ZoneId.systemDefault(); } } default public ZonedDateTime getZonedDateTime(String zoneString) { return ZonedDateTime.of(getLocalDateTime(), getZoneId(zoneString)); } }
用于接口方法的Oracle文档
有关Java 8中所有有趣的内容,请阅读有关Java 8的一切。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)