据我所知,你不能在接口体中声明静态方法.但是,我不小心在http://docs.oracle.com/网站上发现了一些特殊的代码.这是链接
Namelly
public interface TimeClient
{
void setTime(int hour, int minute, int second);
void setDate(int day, int month, int year);
void setDateAndTime(int day, int month, int year,
int hour, int minute, int second);
LocalDateTime getLocalDateTime();
static 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 ZonedDateTime getZonedDateTime(String zoneString) {
return ZonedDateTime.of(getLocalDateTime(), getZoneId(zoneString));
}
} …Run Code Online (Sandbox Code Playgroud) 我正在使用Spring MVC应用程序并遇到了问题.我是Spring的新手,所以如果我的工作有点笨拙,请原谅我.基本上我有一个java类ContractList.在我的应用程序中,我需要这个类的两个不同的对象(它们都必须是单例)
public class MyClass {
@Autowired
private ContractList contractList;
@Autowired
private ContractList correctContractList;
.. do something..
}
Run Code Online (Sandbox Code Playgroud)
请注意,这两个bean都没有在ApplicationContext.xml中定义.我只使用注释.因此,当我尝试访问它们时 - contractList和correctContractList最终引用同一个对象.有没有办法以某种方式区分它们而不在ApplicationContext.xml中显式定义它们?