main函数问题
以前我总觉得一个一个java源文件中只有一个main方法,后来我知道了并不是一定的,因为main函数也可以重载,
但是public static void main(String[] args) { }为程序的入口,这个标准的String数组为参数的main方法才是程序的入口,
如果是int数组为参数的话就不是程序的入口,
后来我又知道了一个一个java源文件可以有2个标准的main方法,两个都是程序的入口,此时 怎么运行?
此时可以这样解决:比如在EdltPlus中,编写两个如下一个java程序,里面有两个标准的main方法作为程序的入口,此时在cmd出来的窗口中进入文件所在的目录,
输入start命令,在复制一个相同的DOS窗口来分别运行这两个类中的main方法
class TcpClient2
{
public static void main(String[] args)throws Exception
{
Socket s = new Socket("192.168.1.254",10004);
OutputStream out = s.getOutputStream();
out.write("服务端,你好".getBytes());
InputStream in = s.getInputStream();
byte[] buf = new byte[1024];
int len = in.read(buf);
System.out.println(new String(buf,0,len));
s.close();
}
}
class TcpServer2
{
public static void main(String[] args) throws Exception
{
ServerSocket ss = new ServerSocket(10004);
Socket s = ss.accept();
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip+"....connected");
InputStream in = s.getInputStream();
byte[] buf = new byte[1024];
int len = in.read(buf);
System.out.println(new String(buf,0,len));
OutputStream out = s.getOutputStream();
Thread.sleep(10000);
out.write("我收到,你也好".getBytes());
s.close();
ss.close();
}
}
|