本帖最后由 吴上波 于 2013-3-20 15:38 编辑
如果一个内部类中有定义static的成员变量或成员方法,那么这个内部类必须定义为静态内部类
并不是静态内部类的所有成员变量或方法都是静态的,譬如下面这个内部类
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
public class DoubleClass {
static class Inner {
String number = "10086";
void iCall() throws IOException {
System.out.println("你正在拨打:" + number);
saveCount();
}
static void saveCount() throws IOException {
File file = new File("info.txt");
if (!(file.exists()))
file.createNewFile();
FileReader fr = new FileReader("info.txt");
Properties prop = new Properties();
prop.load(fr);
int count;
if (prop.getProperty("count") != null) {
count = Integer.parseInt(prop.getProperty("count"));
count++;
} else
count = 1;
prop.setProperty("count", String.valueOf(count));
FileWriter fw = new FileWriter("info.txt");
prop.store(fw, "");
System.out.println("你已经拨打" + count + "次");
}
}
public static void main(String[] args) throws IOException {
Inner inCall = new Inner();
inCall.iCall();
//调用静态方法
DoubleClass.Inner.saveCount();
}
}
|