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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 凝聚 中级黑马   /  2013-11-4 17:09  /  853 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 凝聚 于 2013-11-5 20:15 编辑

请问什么时候用这种方式输出语句啊:out.println();而没有System,说具体点啊谢谢了。

评分

参与人数 1黑马币 +1 收起 理由
乔兵 + 1

查看全部评分

7 个回复

倒序浏览
本帖最后由 Mr.Z.Lee 于 2013-11-4 17:23 编辑
  1. import static java.lang.System.out;
  2. import static java.lang.Integer.*;
  3. public class TestStaticImport {   
  4.   public static void main(String[] args) {  
  5.        out.println(MAX_VALUE);   
  6.       out.println(toHexString(42));     } }
复制代码
回复 使用道具 举报
out是System类的静态属性,不要System,那请问out是什么东西,对象?
回复 使用道具 举报
本帖最后由 魏-玉-彪 于 2013-11-4 18:09 编辑
  1. //import static java.lang.System.out;
  2. //第一种方案,此处,在程序的第一行导入 java.lang.System.out;包

  3. class SystemTest
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 out.println("Hello World!");
  8.         }
  9. }

  10. class out                      //第二种方案 在本地重写  println();方法
  11. {      public static  void println(String s){
  12.                
  13.                  System.out.println(s);

  14. }
  15.          
  16. <font color="Navy">}</font>
复制代码
有两种情况,可以达到这个效果
一: 在程序第一行导入包, import static java.lang.System.out;
out 是java.lang包 System类中的一个静态字段, 这个字段返回一个
PrintStream 对象,PrintStream对象有一个静态的方法println();静态
意思就是拿来就用,不用别外new.
import的意思是,把别的包的东西
引到自己包,就省了每次用方法再加上包名了(java.lang).


二: 第二种方案,本类中,或本包中有重写的out.println();方法


评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
这不是静态导入么?你去看一看,意思就是 impor tstatic 类.静态成员; 用来导入静态成员
回复 使用道具 举报
静态导入:import static java.lang.System.out;  之后就可以省略System了 。

或者把这个输出语句封装成一个功能,自定义功能名称,在调用的时候直接调用你自定义的名称就有了打印功能。
回复 使用道具 举报
凝聚 中级黑马 2013-11-5 08:57:59
7#
import java.io.*;
import java.util.*;
public class Fifteen2 {
        public static void main(String[] args)throws IOException {
        BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out =new PrintWriter(new BufferedWriter (new FileWriter("a.txt")),true);
        String line=null;
        while((line=buf.readLine())!=null)
        {if(".".equals(line))
                break;
        out.println(line.toUpperCase());
        }
        out.close();
        buf.close();
        }
看看这段代码,就没有导入import static java.lang.System.out;什么的,就out.println()这样输出了这是怎么回事?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马