package cn.guangzhou.xp;class Person { private int age;
private int x;
public Person(int age){
age = x;
} public Person() {
} public void setAge(int x) { if (age <= 0) {
return;
} else {
age = x;
}
} public int getAge() {
return age;
} void shout() {
System.out.println("My age is " + age);
} public static void main(String[] args) { Person p1 = new Person();
Person p2 = new Person(); p1.setAge(5);
p1.shout(); p2.age = -1;
p2.shout(); }}输出结果为什么是 0跟-1 而不是5跟0
错在哪里了??怎么改
private int x;
public Person(int age){
age = x;
} public Person() {
} public void setAge(int x) { if (age <= 0) {
return;
} else {
age = x;
}
} public int getAge() {
return age;
} void shout() {
System.out.println("My age is " + age);
} public static void main(String[] args) { Person p1 = new Person();
Person p2 = new Person(); p1.setAge(5);
p1.shout(); p2.age = -1;
p2.shout(); }}输出结果为什么是 0跟-1 而不是5跟0
错在哪里了??怎么改
解决方案 »
- acle创建索引 怎么创建聚集索引,非聚集索引,什么时候又该使用??
- Ant如何删除多个文件夹?
- Base package for new classes 命名问题
- 急!!!!求初级JAVA程序员英文简历一份!
- 要掌握什么样的知识才能做记牌器?
- jspsmartupload实现上传时的问题(关于表单问题)!!前几天提过,但还是有问题!!高手指点!!
- 这种选项卡形式的web页面,前台使用什么技术开发的?
- 各位,有用过displaytag的吗?
- jb8+weblogic7写的EJB怎么布置?
- 是在for循环里创建对象好还是在for循环外创建好,各种分析
- 不能通过check的状态改变按钮是否可用
- sping 使用mysql 函数 LAST_INSERT_ID() 的错误
你在setAge的方法里.if条件判断里是age <= 0 所以p1.setAge(5)的时候age还是0呀.所以...怎么可能会是5跟0.....
这里再看看吧
return;
} else {
age = x;
}Person p1 = new Person(); //不带参数的构造器,成员都被自动赋值为0,所以上面的if判断满足
Person p2 = new Person(); //所以就返回,不会给age赋值了另外
public Person(int age){age = x;
}
这个构造方法也有问题,应该是this.age = age吧,否则把参数的age赋值为成员的x,有何意义?
x = age;
}