首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么不能在java.io.PrintStream中使用print()或println()方法?

为什么不能在java.io.PrintStream中使用print()或println()方法?
EN

Stack Overflow用户
提问于 2018-08-23 06:15:03
回答 2查看 0关注 0票数 0

以下是我使用的代码:

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)
EN

回答 2

Stack Overflow用户

发布于 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");
票数 0
EN

Stack Overflow用户

发布于 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');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档