当前位置: 代码迷 >> J2SE >> 一路java题目
  详细解决方案

一路java题目

热度:33   发布时间:2016-04-23 19:40:09.0
一道java题目
为什么下面代码会输出:司机尚未上车
16行我用driver.name去判断是否有司机,
这样的话应该会执行车已开动的
因为我在main函数里面已经new一个张三的司机了
但是很奇怪,还是现实司机尚未上车
麻烦各位帮忙看看,谢谢。



package pe20081;

class Driver{
public String name;
public Driver(String dreiverName){
String driverName = null;
name = driverName;
}
}
public class Car {
private Driver driver;
public Car(Driver driver){
this.driver = driver;
}
void run(){
if(driver.name==null){   
System.out.println("司机尚未上车");
}
else
System.out.println("车已开动");
}

public static void main(String[] args) {
Driver driver = new Driver("张三");
Car car = new Car(driver);
car.run();
}
}

------解决思路----------------------
可能是堆内存中new了两个driver吧
------解决思路----------------------
第四行最后面错了吧
------解决思路----------------------

 public Driver(String dreiverName){
        String driverName = null;
        name = driverName;
    }

赋值有问题,传入的dreiverName没用上,拼写不一致
而且要赋值也不需要局部变量,直接赋值就看了
this.name = dreiverName;
  相关解决方案