主题:[求助] java变量初始化的问题
import java.io.*;
public class TestPrintStream1 {
public static void main(String[] args) {
FileOutputStream fos ;
try {
fos = new FileOutputStream("C:/PS1.txt"); //A
} catch (IOException e) {
e.printStackTrace();
}
PrintStream ps = new PrintStream(fos); //B
if(ps != null) {
System.setOut(ps);
}
System.out.println("haha");
}
}
无法通过编译,说B句在使用fos时未对fos进行初始化,可A句已经初始化了呀?为什么说fos变量没有初始化?(我知道只要在开头令fos=null;就可以了,但是就是想不通,A句也初始化了,为什么B句就不能通过编译)
public class TestPrintStream1 {
public static void main(String[] args) {
FileOutputStream fos ;
try {
fos = new FileOutputStream("C:/PS1.txt"); //A
} catch (IOException e) {
e.printStackTrace();
}
PrintStream ps = new PrintStream(fos); //B
if(ps != null) {
System.setOut(ps);
}
System.out.println("haha");
}
}
无法通过编译,说B句在使用fos时未对fos进行初始化,可A句已经初始化了呀?为什么说fos变量没有初始化?(我知道只要在开头令fos=null;就可以了,但是就是想不通,A句也初始化了,为什么B句就不能通过编译)