以下是我使用的代码:
javap -c java.lang.System | grep -i out
public static final java.io.PrintStream out;
javap java.io.PrintStream | grep print
public void print(boolean);
public void print(char);
public void print(int);
public void print(long);
public void print(float);
public void print(double);
public void print(char[]);
public void print(java.lang.String);
public void print(java.lang.Object);
public void println();
public void println(boolean);
public void println(char);
public void println(int);
public void println(long);
public void println(float);
public void println(double);
public void println(char[]);
public void println(java.lang.String);
public void println(java.lang.Object);
public java.io.PrintStream printf(java.lang.String, java.lang.Object...);
public java.io.PrintStream printf(java.util.Locale, java.lang.String, java.lang.Object...);
import java.io.PrintStream;
println('a');
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method print(char) is undefined for the type array
at array.main(array.java:16)
发布于 2018-08-23 14:59:31
因为println是类的实例方法,所以PrintStream需要一个类的实例来调用实例方法
但是System.out是一个实例PrintStream,所以可以这样做:
System.out.println("blah blah")
或者可以创建一个新PrintStream实例,例如写入文件:
PrintStream p = new PrintStream(filename);
p.println("blah blah");
发布于 2018-08-23 15:26:33
需要一个PrintStream实例,因为println不是静态的
可以试试这个:
import java.io.PrintStream;
PrintStream printStream = new PrintStream(System.out);
// or better
PrintStream printStream = System.out;
printStream.println('a');
https://stackoverflow.com/questions/-100008816
复制相似问题