class text{
public static void main(String[] args) {
System.out.println(testt());
System.out.println(x);
}
static int x = 99;
public static int testt() {
try {
return x;
} catch (Exception e) {
} finally {
x = 8;
}
return x;
}
}
运行结果为:
99
8
按顺序执行为什么第二个为8?
public static void main(String[] args) {
System.out.println(testt());
System.out.println(x);
}
static int x = 99;
public static int testt() {
try {
return x;
} catch (Exception e) {
} finally {
x = 8;
}
return x;
}
}
运行结果为:
99
8
按顺序执行为什么第二个为8?
解决方案 »
- 用poi 读取excel2007 创建XSSFWorkbook对象时 java.lang.OutOfMemoryError: Java heap space
- 类implements ResultSet出错
- org.xml.sax.SAXParseException: Document root element "hibernate-AnnotationConfig
- 404路径错误
- strits2 时间控件 dojo 未定义 求解
- 我正在用java做一个搜索引擎,想问一下大家,选用那一个系统如较好呢,unix,or windows,lnuix,
- 如何直接得到php的地址并对内容进行解析?
- 简单
- EJB中oracle的日期类型的问题
- 有谁知道怎么用netbeans编译ejb的java文件么??
- 如何解析域名
- 狗日的IE
所以99是x在finally前的复制,8是finally操作后x所存储额定值!总之:第一个返回的是x在finally前的复制值,第二个是直接返回的x
class text{
public static void main(String[] args) {
System.out.println(new text.testt()); //此为new对象放在堆中
System.out.println(x); //static int x = 99;
}