当前位置: 首页 > 知识库问答 >
问题:

为什么我不能在导入类之后按原样使用java.io.PrintStream中的print()或println()方法呢?

卫子平
2023-03-14

对于这个愚蠢的问题,我很抱歉,但是当我学习java类时,我尝试了以下方法

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...);

并且我尝试了一下是否可以导入java.io.printstream并按原样使用print()println(),而不是system.out.println()

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)

共有1个答案

麻鸿熙
2023-03-14

因为printlnprintstream类的实例方法,您需要类的实例来调用实例方法。

但是,system.outprintstream的实例,因此可以执行以下操作:

 System.out.println("blah blah")

或者可以创建新的printstream实例,例如写入文件:

 PrintStream p = new PrintStream(filename);
 p.println("blah blah");
 类似资料:
  • 问题内容: 我喜欢在这里使用这种方法: 唯一的缺点(例如,与Google Guava相比)是无法静态导入该方法。也就是说,这是没有用的: …因为我的Eclipse编译器在编写时无法正确链接该方法 错误是: Object类型中的equals(Object)方法不适用于参数(…,…) 这是为什么?如果在任何超级类型中都存在具有相同名称(但签名不相同)的方法,我的静态导入方法是否不适用?这是JLS中正式

  • 我试图导入PyAudio,但它总是给我一个错误。如果我的电脑有问题,我使用的是Windows64x和Python3.9.4。以下是错误:

  • 问题内容: 我目前正在使用Deitel的书《 Java How to Program》第8版(早期对象版本)学习Java。 我在有关创建类和方法的章节中。 但是,我对那里提供的示例感到非常困惑,因为它包含两个单独的.java文件,并且当其中一个使用另一个方法时,它没有导入该类。它只是从另一个.java文件创建了该类的对象,而没有先导入它。 这是如何运作的?为什么我不需要导入? 这是本书中的代码(我

  • 问题内容: 这是我的进口商品: 我无法编译此代码: 这是错误: 我认为这可能是导入的问题,可以肯定的是,当我专门导入时,它给了我一个额外的错误: 到底是怎么回事?我应该以其他方式导入Codename One中的文件吗?让我知道这是否还不足以找到错误。 PS:我需要实现输入流,以便可以解析csv文件: 问题答案: 看来代号One省略了该类-我怀疑其他类。 从文档来看,我怀疑您想使用该类及其方法。 您

  • 问题内容: 下面的代码 在Python 2中可以正常工作,但是在Python 3中我得到一个错误: 它仅适用于和。 问题答案: 您需要提供在Python 3订货丰富的比较方法,这是 ,,,,,和。另请参阅:PEP 207-丰富的比较 。 是 不是 不再使用。 更具体地说,以和作为参数,并且需要返回是否小于。例如: (这不是明智的比较实现,但是很难说出您要做什么。) 因此,如果您有以下情况: 这等效

  • 代码显示了我的问题,我不能在。 错误消息是: /home/linuxbrew/。linuxbrew/Cellar/gcc/11.1。0_1/include/c/11.1。0/范围:1775:48:错误:传递'std::ranges::take_view