为什么下面代码会输出:司机尚未上车
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;