package finallytest;
public class Main {
static class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return this.name+age;
}
}
public static void main(String[] args) {
System.out.println(test());
System.out.println(testPrimitive());
}
public static User test() {
User result = new User();
result.setName("张三");
try {
result.setAge(1);
return result;
} catch (Exception e) {
result.setAge(2);
return result;
} finally {
//引用类型的返回值,可被修改,返回结果“张三3”
result.setAge(3);
//可以被“具体值”覆盖,返回结果
//return new Student("Kobe", 33);
}
}
public static int testPrimitive() {
int x = 0;
try {
x = 1/0;
return x;
} catch (Exception e) {
x = 2;
return x;
} finally {
//基本类型的返回值,不可被修改,返回结果是2
x = 3;
//可以被“具体值”覆盖,返回结果是3
//return x;
}
}
}
finally的return问题
最新推荐文章于 2025-04-06 21:49:51 发布