0

我有两个课程,Test 和 Test2。Test 创建了一个 Test2 的实例,该实例用于使用 PrintStream 和 FileOutputStream 写入文件。

我收到错误消息:

    write(String) has private access in PrintStream
      output.write(str);
            ^

如果我在声明它的类中正确调用私有变量,为什么会给我这个错误?

public class Test
{
    public static void main (String[] args)
    {
            Test2 testWrite = new Test2();
            testWrite.openTextFile();
            testWrite.writeToFile("Hello.");
            testWrite.closeFile();
    }
}

import java.io.*;

public class Test2{
    private PrintStream output;

    public void openTextFile(){
        try{
            output = new PrintStream(new FileOutputStream("output.txt"));
        }
        catch(SecurityException securityException){}
        catch(FileNotFoundException fileNotFoundException){}
    }
    public void writeToFile(String str){
        try{
            output.write(str);
        }
        catch(IOException ioException){}
    }
    public void closeFile(){
        try{
            output.close();
        }
        catch(IOException ioException){}
    }
}
4

1 回答 1

1

private方法只能在声明它们的类中访问。您可以使用print

output.print(str);

或者println如果您需要将换行符写入文件。

阅读:控制对类成员的访问

于 2014-01-18T23:58:42.977 回答