Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 访问初始化对象的内部对象属性时发生NullPointerException_Java_Oop_Nullpointerexception - Fatal编程技术网

Java 访问初始化对象的内部对象属性时发生NullPointerException

Java 访问初始化对象的内部对象属性时发生NullPointerException,java,oop,nullpointerexception,Java,Oop,Nullpointerexception,我有两个类,汽车和轮胎,具有以下功能 轮胎: 汽车 我的问题是,我想打印汽车阵列中所有轮胎的信息(milesLeft)。我以为只要使用for循环就可以了,但事实并非如此,我也不知道为什么 这就是我所尝试的: for(int i = 0; i < MAX_TIRES; i++){ System.out.println("Tire nº"+i+": "+ i20.tires[i].getMilesLeft()); } for(int i=0;i

我有两个类,汽车和轮胎,具有以下功能

轮胎:

汽车

我的问题是,我想打印汽车阵列中所有轮胎的信息(milesLeft)。我以为只要使用for循环就可以了,但事实并非如此,我也不知道为什么

这就是我所尝试的:

for(int i = 0; i < MAX_TIRES; i++){
   System.out.println("Tire nº"+i+": "+ i20.tires[i].getMilesLeft());
}
for(int i=0;i
虽然只打印了一个轮胎,但如果我们在汽车类中,就没有问题了

<>你可能看到的其他错误也写了,我已经学习了C++,但是我从java开始。 编辑:

错误:

线程“main”java.lang.NullPointerException中出现异常 at vehicles.main(vehicles.java:56)

具有“主”功能的车辆声明

public static void main(String []args) { 
 Car i20 = new Car("i20");

 System.out.println("The name is " + i20.getName());
 System.out.println("The tires' status right now is:");
 for(int i = 0; i < MAX_TIRES; i++){
    System.out.println("Tire nº"+i+": "+ i20.tires[i].getMilesLeft());
 }
}
publicstaticvoidmain(字符串[]args){
i20车=新车(“i20”);
System.out.println(“名称为”+i20.getName());
System.out.println(“轮胎现在的状态是:”);
对于(int i=0;i
我认为当制造一辆新车时,它也会制造轮胎

计算机是愚蠢的。你没有告诉它在汽车制造时制造轮胎,所以它没有为你制造轮胎。这就是为什么当您尝试访问轮胎时,会抛出
NullPointerException
。轮胎还没有制造出来

创建汽车后,还要创建轮胎:

Car i20 = new Car("i20");
for (int i = 0 ; i < i20.tires.length l i++) {
    i20.tires[i] = new Trie();
}
我认为当制造一辆新车时,它也会制造轮胎

计算机是愚蠢的。你没有告诉它在汽车制造时制造轮胎,所以它没有为你制造轮胎。这就是为什么当您尝试访问轮胎时,会抛出
NullPointerException
。轮胎还没有制造出来

创建汽车后,还要创建轮胎:

Car i20 = new Car("i20");
for (int i = 0 ; i < i20.tires.length l i++) {
    i20.tires[i] = new Trie();
}

错误是什么?在迭代之前是否向数组中添加轮胎?vehicles.main(vehicles.java:56)处线程“main”java.lang.NullPointerException中出现异常。和汽车:汽车i20=新车(“i20”);我认为在创建新车时,它也会创建轮胎。@EduardoGomez发布您的全部代码。错误是什么?在迭代之前是否向数组中添加轮胎?线程“main”java.lang.NullPointerException at vehicles.main(vehicles.java:56)中的异常错误。和汽车:汽车i20=新车(“i20”);“我原以为在造一辆新车的时候,它也会造轮胎。”爱德华多戈梅兹把你的全部代码都发出来。我知道我不该说谢谢,但我还不能投票。这就是解决办法。我觉得自己很愚蠢。我知道我不该说谢谢,但我还不能投票。这就是解决办法。我觉得自己很愚蠢。
Car i20 = new Car("i20");
for (int i = 0 ; i < i20.tires.length l i++) {
    i20.tires[i] = new Trie();
}
public Car(String name){
    maintenance = false;
    this.name = name;
    for (int i = 0 ; i < this.tires.length ; i++) {
        this.tires[i] = new Tire();
    }
}