一个简单类变量声明 ,必须在 在 try catch 外 先声明 为null, 然后用构造函数在 try catch里面生成 , 如果把这个 声明 全搬进 try catch,就变成无法解析 , 这是为什么 。看这个例子 : Printer outputStream, 必须要 先声明为 PrintWriter outputStream = null; 然后在 里面 创建实例 ,如果在 try catch 里面 直接写 : PrintWriter outputStream= new PrintWriter(new FileOutputStream("out.txt"));后面的 对 output的 调用 就不能执行了 ,是不是因为 try catch里面 包含的只能算局部变量了 外面的 看不到也无法调用了呢 ?
import java.io.*;
import java.util.*;public class TextFileOutputDemo
{
public static void main(String[] args)
{                PrintWriter outputStream=null;
try
{
outputStream= new PrintWriter(new FileOutputStream("out.txt"));

}
catch (FileNotFoundException e)
{
System.out.println("Error opening the file out.txt.");
System.exit(0);
}
System.out.println("Enter three lines of text: ");
String line= null;
Scanner keyboard = new Scanner(System.in);
int count;
for(count=1; count<=3; count++)
{
line=keyboard.nextLine();
outputStream.println(count + " " + line);
}
outputStream.close();
System.out.println("Those lines were written to out.txt.");
}
}