我有一个使用多个类的程序,我希望其他类能够访问我在主类中声明的同一个扫描器。
我假设这可以使用某种get方法来完成,但是我找不到任何资源来帮助我。
以下是我在我的主要类的扫描仪:
Scanner in = new Scanner(System.in);
System.out.println("Enter a filename");
String filename = in.nextLine();
File InputFile = new File (filename);
Scanner reader = new Scanner(filename);
阅读器扫描器是我希望能够跨程序中的其他类访问的扫描器。
有谁能给予我一些如何做这件事的指导吗?
3条答案
按热度按时间csbfibhn1#
只需在
main
类中使用public static final Scanner in = new Scanner(System.in);
,然后就可以通过MainClassName.in
从任何地方调用它。另外,要小心传递给Scanner的参数。我猜你想把
InputFile
放入Scanner
,而不是filename
=)ppcbkaq52#
有所谓的design patterns可以帮助你处理这样的日常问题,它们显示了最佳实践。
您正在寻找类似Singleton的东西,它是软件echosystem所特有的类的示例。
对于您的示例,您可以执行以下操作:
qyuhtwio3#
回答您关于依赖项注入的问题:下面是dependency injection大致概念(通过构造函数):
类A(类B具有类似的构造函数):
我们的想法是用wire()方法创建并连接对象。