如何将在类方法中创建的实例传递给同一个类中的另一个方法?

时间:2014-10-16 16:17:37

标签: java variables

我创建了这个类:

class File {
    public String path;
    public int numberOfLines = 0;
    public String[] fileContent;

    public File (String file_path) {
         path = file_path;
    }

    public BufferedReader openFile () throws IOException {
        FileReader ReadFile = new FileReader(path);
        BufferedReader ReadFilePerLine = new BufferedReader(ReadFile);
    }    
    public int countLines () {
        String line;

        while((line = ReadFilePerLine.readLine()) != null){
            numberOfLines++;
        }
        return numberOfLines;
    } 
    public String[] readLines () {
        String[] fileContent = new String[numberOfLines];
        for (int i=0; i < numberOfLines; i++){
            fileContent[i] = ReadFilePerLine.readLine();
        }
    }
}

如何让countLines()方法知道ReadFilePerLine的存在以及如何让他使用它? (numberOfLines变量相同)

2 个答案:

答案 0 :(得分:1)

BufferedReader ReadFilePerLine = new BufferedReader(ReadFile);

这是openFile()方法的局部变量,因此仅存在于该方法的范围内。

如果您希望其他方法可以访问它,请将其设为实例变量(即将BufferedReader ReadFilePerLine;移到方法之外)。

答案 1 :(得分:0)

你应该使用方法参数,如下所示:

public int countLines (BufferedReader in) {
    String line;

    while((line = in.readLine()) != null){
        numberOfLines++;
    }
    return numberOfLines;
}