public class Jiandan
{
 public static void main(String args[])
    {
       String greeting="Hello,world!";
       PrintStream printer=System.out;
       int luckynumber=13;
       printer.println(greeting);
       printer.println(luckynumber);
    }
}
在bigjava这本书上讲到变量定义时,我自己做了个小例子,但是发现编译报错,是不是这句PrintStream printer=System.out;是错的?因为当我把这个去掉,把后面改成System.out时编译就成功了,有没兄弟指点下小弟

解决方案 »

  1.   

    那一句没有错.
    我怀疑你第一行没有import java.io.*;
      

  2.   

    应该是引入PrintStream类型吧 
      

  3.   

    PrintStream 定义的输出流类型数据printer
    System.out 是System的 域 返回的是PrintStream类型数据因此可以通过此句传值。
      

  4.   

    刚才发的帖子有误,这里更改这句一般编程很少用。因为他需要你导入一个包,无形中增加了程序的复杂性和执行时间。所以,我只是简单的给你分析下这个句子:
    PrintStream printer 定义了一个PrintStream类型的变量(对象)printer
    System中的类变量 out 的类型为PrintStream相同类型的变量赋值,所以语句编译通过。
      

  5.   

    PrintStream printer=System.out;
    这句话本身就有语法错误,不能将一个类直接赋值给一个对象。
    可以直接使用System.out.PrintStream.print();
      

  6.   

    import java.io.PrintStream;这样就行了