一段java代码,输出结果为什么是0

class Circle {
public int size;
public int colour;

Circle(int size) {
size = size;
}
}

public class TEClass {
public static void main(String[] args) {
Circle circ = new Circle(10);
System.out.println(circ.size);
}
}

您好,提问者:
这是因为
Circle(int size) {
size = size; //引起的,把size赋给这个局部的size了。
}
修改:
Circle(int size) {
this.size = size; //引起的,把size赋给这个局部的size了。
}
或者:
Circle(int size1) {
size = size1; //引起的,把size赋给这个局部的size了。
}追问

按照原来的写法为什么会有0出现,我从来没有赋过0这个值啊

追答

int 默认是0;
String 默认是null
boolean 默认是false;

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-24
 Circle(int size) {
    size = size;  
 }

把这个改成

 Circle(int size) {
    this.size = size;  
 }

第2个回答  2014-06-24
把 size = size;
改成 this.size = size;
第3个回答  2014-06-24
你的构造函数写错了。
相似回答