如下源程序:
import java.io.*;
import java.util.Vector;public class ListOfNumbers {
PrintWriter out;
private Vector<Integer> vectors;
private static final int SIZE = 10;
public static void main(String[] args) {
new ListOfNumbers().writeList();
}
public ListOfNumbers () {
vectors = new Vector<Integer>(SIZE);
for (int i = 0; i < SIZE; i++) {
vectors.addElement(new Integer(i));
}
} public void writeList() {
try {
out = new PrintWriter(
new FileWriter("OutFile.txt"));
} catch(IOException e) {
e.printStackTrace();
} for (int i = 0; i < SIZE; i++) {
out.println("Value at: " + i + " = " +
vectors.elementAt(i));
} out.close();
}
}为什么讲第五行的语句 PrintWeiter out; 放在方法writeList()里面的首行进行编译时会说out引用没有被初始化呢?它不是在接下来的try语句中被初始化了吗?谢谢!
import java.io.*;
import java.util.Vector;public class ListOfNumbers {
PrintWriter out;
private Vector<Integer> vectors;
private static final int SIZE = 10;
public static void main(String[] args) {
new ListOfNumbers().writeList();
}
public ListOfNumbers () {
vectors = new Vector<Integer>(SIZE);
for (int i = 0; i < SIZE; i++) {
vectors.addElement(new Integer(i));
}
} public void writeList() {
try {
out = new PrintWriter(
new FileWriter("OutFile.txt"));
} catch(IOException e) {
e.printStackTrace();
} for (int i = 0; i < SIZE; i++) {
out.println("Value at: " + i + " = " +
vectors.elementAt(i));
} out.close();
}
}为什么讲第五行的语句 PrintWeiter out; 放在方法writeList()里面的首行进行编译时会说out引用没有被初始化呢?它不是在接下来的try语句中被初始化了吗?谢谢!
解决方案 »
- 一个List,怎么删除其中不想要的元素
- 新手上路,请大家进来帮忙看一个很简单的程序编译不通过的问题。
- [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]插入错误: 列名或所提供值的数目与表定义不匹配。 大家帮我看一下
- 利用函数球的button上的字符?
- Exception in thread "main" java.lang.NullPointerException 错误,请帮忙解决一下。我初学,讲白一点哦。
- swing光标定位
- Diff 算法
- 高分,高分!!(求救呀!!!)
- 请指教下,刚开始看java
- 关于构造函数的疑惑!!!!!!!!!!!!
- 面试题
- 求两段简单代码
LZ可以直接写PrintWriter out = new PrintWriter(
new FileWriter("OutFile.txt"));
反正你其他地方不用out
成员变量之所以没错是因为成员变量自动赋了初始值null