为了账号安全,请及时绑定邮箱和手机立即绑定

静态导入重载方法

静态导入重载方法

莫回无 2022-09-28 16:06:00
我有我的日期工具.java文件,其中包含与日期相关的实用程序方法。我有如下重载方法:setDate()// Overloaded method #1public static void setDate(Date date) { }// Overloaded method #2public static void setDate(long timestamp) { }我在其他类文件中仅使用上述方法之一。例如,方法。当我尝试静态导入此方法时,它导入了如下:setDate(Date date)import static com.example.app.DateUtils.setDate;此语句在我的实现中导入两个重载方法,因为我只使用一个重载方法,而不是两个。有没有办法有选择地静态导入重载方法?我的意思是,我可以只静态导入我感兴趣的方法吗?
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

有没有办法有选择地静态导入重载方法?我的意思是,我可以只静态导入我感兴趣的方法吗?

不能。请记住,静态导入(一般导入)只是一种定义引用事物的速记版本的机制。所有这一切都是为了让您在原本必须键入的地方使用。对于静态导入也是如此,它纯粹是获取(在您的情况下)的速记名称的一种方式。import java.util.Map;Mapjava.util.Mapcom.example.all.DateUtils.setDate

如果只能导入一个重载而不导入另一个重载,那么它所做的就是使其与有效签名不匹配:

setDate(1234L);

...这并不是那么有用。

如果要将重载的使用与使用重载分开,则必须将它们拆分为单独的非重载方法。longDate


查看完整回答
反对 回复 2022-09-28
  • 1 回答
  • 0 关注
  • 51 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信