在我的Java课程中,我获得了一个多线程服务器客户端项目来查看。我理解除了客户端中的这一部分之外的大部分项目:
public static void main( String args[] )
{
Client application;
if ( args.length == 0 )
application = new Client( "127.0.0.1" );
else
application = new Client( args[ 0 ] );
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
application.runClient();
}
特别是我不明白args
检查背后的含义。为什么这样做呢?例如,如果args
是0
,我们会连接到localhost
,但其他情况会发生在我身上。我知道args
包含提供的命令行参数作为String对象的数组,但这对我没有多大帮助。所以欢迎任何解释:)
答案 0 :(得分:2)
数组字符串作为参数传递给您的程序(可以在程序启动期间完成),例如 - java ClientApp
,它可以接受一些参数,例如java ClientApp 192.168.0.1
,所以192.168 .0.1将是args []数组中索引为0的元素。
有关详细信息,请查看官方文档 - http://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html
答案 1 :(得分:1)
" ARGS"是一个数组,包括用户在启动应用程序时传递的参数。如果args.length(数组大小" args")为零,(没有参数传递)默认值" 127 ..."将会被使用。如果它大于零,则第一个参数将用作地址:
java -jar myProgram.jar 192.168.0.1
答案 2 :(得分:1)
请参阅:What is "String args[]"? parameter in main method Java
else
子句使用第一个命令行参数并将其传递给Client
构造函数。这允许您在命令行上指定客户端应连接的主机。
答案 3 :(得分:1)
我想说客户端的IP地址是一个命令行参数,如果没有提供,那么默认情况下localhost连接到。 : - )