【问题标题】:i want to print a method in an object of on object array but cant. why?我想在对象数组的对象中打印一个方法,但不能。为什么?
【发布时间】:2020-07-11 05:35:34
【问题描述】:

我试图理解为什么我不能打印这种方法。它没有告诉我我的代码有任何问题,所以我无法弄清楚我在这里缺少什么。

package practice;

class Persons{
    String name;
    int id;

    public void speak(String name,int id) {
        System.out.println("hello i am " + name + " and my id is " + id);
        this.name = name;
        this.id = id;
    }
}

public class demo1 {

    public static void main(String[] args) {

        Persons person[] = new Persons[5];
        person[0].speak("guy", 1);  
    }
}

【问题讨论】:

  • 您正在创建一个长度为 5 的数组,但是数组中没有元素,但数组中的所有元素都是 null

标签: java arrays object arraylist


【解决方案1】:

您正在创建一个包含 5 个空元素的数组。此代码将抛出 NullPointerException。

Persons person[] = new Persons[5];
person[0] = new Person();
person[0].speak("guy", 1);  

你可以考虑创建一个类型的构造函数:

public Persons(String name,int id)

或者公开一组公开的 getter 和 setter。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2019-11-19
    • 2020-03-06
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    相关资源
    最近更新 更多