A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大手牵小手 中级黑马   /  2015-3-3 15:15  /  858 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.*;
  2. import java.net.*;

  3. class  
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 Socket s = new Socket("192.168.1.254",10004);
  8.                 OutputStream out = s.getOutputStream();

  9.                 out.write("服务端,你好".getBytes());

  10.                 InputStream in = s.getOutputStream();
  11.                 byte[] buf = new byte[1024];

  12.                 int len = in.read(buf);

  13.                 System.out.println(new String(buf,0,len));

  14.                 s.close();
  15.         }
  16. }

  17. class  TcpServer2
  18. {
  19.         public static void main(String[] args) throws Exception
  20.         {
  21.                 ServerSocket ss =new ServerSocket(10004);
  22.                 Socket s = ss.accept();

  23.                 String ip = s.getInetAddress().getHostAddress();
  24.                 System.out.println(ip"....connected");
  25.                 InputStream in = s.getInputStream();

  26.                 byte[] buf = new byte[1024];

  27.                 int len = in.read(buf);

  28.                 System.out.println(new String(buf,0,len));

  29.                 OutputStream out = s.getOutputStream();

  30.                 out.write("哥们收到,你也好"。getBytes());
  31.         }
  32. }
复制代码

为什么可以有两个main呢?而且编译的时候还可以先编译.java文件在分别编译两个类啊?

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1

查看全部评分

3 个回复

倒序浏览
.java文件是存放程序源代码的文件,里面放多少个类都没有问题。编译器编译的时候是在编译这个.java文件,只要这文件里面出现的类,编译器都会编译。并且每一个类生成对应的字节码文件(.class文件)。一个Java文件中可以包含任意多的类,每一个类中都可以包含main函数。也就是说,你的这段代码里有两个独立的程序,每个包含main函数的类都代表一个独立的程序。

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1 很给力!

查看全部评分

回复 使用道具 举报
因为是两个类,所以允许存在两个main方法,既然是两个类,肯定会出现两个字节码文件,按你这代码就是一个服务端和一个客户端的类文件了

评分

参与人数 1黑马币 +3 收起 理由
万合天宜 + 3 赞一个!

查看全部评分

回复 使用道具 举报
alvis2015 发表于 2015-3-3 15:24
.java文件是存放程序源代码的文件,里面放多少个类都没有问题。编译器编译的时候是在编译这个.java文件,只 ...

原来是这样子啊,我记住了!谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马