重複の可能性:
Java は参照渡しですか?
(Integer、File、Boolean) のような Java クラスを使用した場合、インスタンスを引数として関数に渡し、この値を関数外で使用した後にその値を変更しようとすると、値は変更されません。
例えば:
private void run(){
        File tmpFile;
        setFile(tmpFile);
        System.out.println(tmpFile.getAbsolutePath());  //error tmpFile is null
    }
private void setFile(File xFile){
    xFile = jFileChooser.getSelectedFile();  // this returned object file
}