我来回答你的问题。
首先你定义私有对象是:2.private String color;
3.private String num;
然后你的构造方法是:4.Car(){
5. int num=4;
6. String color="red";
7.}
你的问题:1,构造方法中你又重新定义了num和color两个属性值。和你前面的定义私有对象重复了。
2,你的静态方法:12.static void run(Car a){
13.System.out.print(a.num+","+a.color);
14.}
调用的是ca类中的私有对象。你的构造方法没有初始化里面的值。所以结果你: 0,null
改进的代码:- public class Car {
- private String color;
- private int num;
- Car(){
- num = 4;
- color = "red";
- }
- static void run(Car a){
- System.out.println(a.num+","+a.color);
- }
- public static void main(String[] args) {
- Car ca = new Car();
- run(ca);
- }
- }
复制代码 |