黑马程序员技术交流社区

标题: 局部变量定义引用类型对象是否需要赋初值 [打印本页]

作者: Seven`    时间: 2014-10-12 23:35
标题: 局部变量定义引用类型对象是否需要赋初值
  1.         public static void main(String[] args) throws IOException {
  2.                 // 创建客户端连接对象s,指定服务端ip和端口
  3.                 Socket s = new Socket("127.0.0.1", 9000);
  4.                 // 使用字符缓冲区读取控制台输入的字符串
  5.                 BufferedReader bfr = new BufferedReader(
  6.                                 new InputStreamReader(System.in));
  7.                 // 调用Socket方法getOutputStream方法,获取字节输出流对象out,用于发送数据;使用打印流来写入
  8.                 PrintWriter out = new PrintWriter(s.getOutputStream(), true);

  9.                 // 定义字符缓冲区,用于读取服务器返回的字符数据
  10.                 BufferedReader bfrIn = new BufferedReader(new InputStreamReader(
  11.                                 s.getInputStream()));
  12.                 // 定义字符串line,用于存储缓冲区读取的每一行字符串
  13.                 String line;
  14.                 // 使用readLine方法读取每一行字符串
  15.                 while ((line = bfr.readLine()) != null) {
  16.                         // 如果控制台输入over,将信息发送后跳出循环
  17.                         if (line.equals("over")) {
  18.                                 out.println(line);
  19.                                 break;
  20.                         }
  21.                         // 调用println方法将控制台字符串发送给服务端
  22.                         out.println(line);
  23.                         // 将返回的字符串打印
  24.                         System.out.println("翻转后的字符串为: " + bfrIn.readLine());
  25.                 }
  26.                 // 关闭控制台字符缓冲区流对象
  27.                 bfr.close();
  28.                 // 关闭客户端连接对象
  29.                 s.close();
  30.                 // 将返回的字符串打印在控制台
  31.         }
复制代码


以上为我写的TCPClient端,定义String line进行存储读取到的字符串时,不赋初值也可以,我想请教下大神,这是什么情况?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2