我面临一个问题。我有一个名为“ ReportingService”的类,它应该是单例并且正在扩展“ CommonService”。
package MyApp.Services.ReportingService;
public class ReportingService extends CommonService {
private static ReportingService instance = null;
public static ReportingService getInstance() {
if (instance == null) {
instance = new ReportingService();
}
return instance;
}
}
并在我正在使用的其他班级中访问此班级
package MyApp.Services.WebReportingService;
@WebMethod(operationName = "registerUDP")
public boolean registerUDP(
@WebParam(name = "Friendly Name") String friendlyName,
@WebParam(name = "Username") String username,
@WebParam(name = "Password") String password,
@WebParam(name = "Communication Protocol") CommunicationProtocol communicationProtocol,
@WebParam(name = "IP Address") String ipAddress,
@WebParam(name = "Port") int port) {
Consumer client = new Consumer(friendlyName, username, password, communicationProtocol, ipAddress, port);
ReportingService rs = ReportingService.
return true;
}
在“ ReportingService rs = ReportingService”中。它没有向我显示ReportingService类的getInstance()方法。我还导入了正确的软件包。
注意:这两个类在不同的程序包中。
最佳答案
我认为您的包裹名称已损坏。您似乎在包的末尾有该类的名称-但是该类的名称仅在导入时出现。
因此,您将拥有:
package myApp.Services;
public class ReportService extends CommonService {/* code goes here */}
但随后您将包括:
import myApp.Services.ReportService;
WebReportingService也是如此。
package
语句不应包含类名编辑:如果您实际上要在包
ReportService
中使用myApp.Services.ReportService
,则需要导入myApp.Services.ReportService.ReportService
(或者myApp.Services.ReportService.*
,但是不建议这样做,除非您需要该包中的许多类)