java - 无法在数组类型 (Class) MitarbeiterListe[] 上调用方法 getSize()

标签 java

所以我有两个 Java 类。有类 Mitarbeiter 和类 MitarbeiterListeMitarbeiter 生成带有 idname 的对象 MitarbeiterMitarbeiter 应保存在一个数组中,该数组在 MitarbeiterListe 类的构造函数中初始化。

我编写了一个方法getSize(),它应该返回数组中保存的Mitarbeiter的数量。

不幸的是,我无法在 main() 中使用 getSize()。它给了我错误:

Cannot invoke getSize() on the array type MitarbeiterListe[]

代码:

/*********************MITARBEITERListe********************/
public class MitarbeiterListe {

    static Mitarbeiter[] liste;

    public MitarbeiterListe(int index) {

         liste = new Mitarbeiter[index];

    }

    public static int getSize() {
        int size =0;
        for(int i=0; i< liste.length; i++) {
            if(liste[i]!= null) {
                size++;
            }
        }
        return size;
    }
}

/**********************MITARBEITER************************/

public class Mitarbeiter extends Main {

    private int id;
    private static int idMax =1;
    private String name;



    public Mitarbeiter(String name) {
        id = idMax++;
        this.name = name;
    }
}

/**********************MAIN************************/

public class Main {

    public static void main(String[] args) {

        Mitarbeiter m1 = new Mitarbeiter("Tim");
        Mitarbeiter m2 = new Mitarbeiter("Anton");

        MitarbeiterListe l1[] = new MitarbeiterListe[5];


        //Here I'll get the Error
        System.out.println(l1.getSize());
}

最佳答案

您在 System.out.println(l1.getSize()); 处收到错误

因为您的 l1 是一个数组实例,因为您这样做:MitarbeiterListe l1[] = new MitarbeiterListe[5];
因此,l1[].getSize() 是一个编译错误,因为对于数组,没有像 getSize() 这样的函数可用。

对于 l1 ,您只能调用 array 的函数,请参阅 here .

在 @Indesttruktible 答案中,您可以看到如何调用定义的 getSize()

此外,根据您的代码建议您执行以下操作:

(记住>不要使用 IDE 来学习代码,而是用它来编码)

希望这有帮助。

关于java - 无法在数组类型 (Class) MitarbeiterListe[] 上调用方法 getSize(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55782388/

相关文章:

java - Spring - Autowiring java.lang.NoClassDefFoundError

Java 变形器将复数转换为单数形式

java - 无法加载没有绝对路径的图像

java - System.nanoTime() 是否跨线程一致?

java - 在运行时获取 groovy 脚本自由变量

java - 如何将垂直 JDialog 大小调整限制为对话框中的单个组件?

java - Java 中的 Tomcat 6 和 TLSv1.2

Java map.copyOf 不使用源映射比较器

java - 简单的java web服务器但没有输出

java - 更新 Android 移动应用程序