我想做的是在这里添加另一个类(Noten)中的对象并打印出来。
我知道这是一个常见问题,但仍然找不到解决方案。

private ArrayList<Noten> notes123;
public void addNotes(Noten newNotes) {
    if (notes123.size() >= 0) {
        notes123.add(newNotes);
        System.out.println(newNotes);
    } else {
        System.out.println("No Notes.");
    }
}
public void schuelerInfo() {
    System.out.println("Name: " + name + " Student number: " + nummer);
    System.out.println("The notes are ");
    for (Noten note: notes123) {
        System.out.println(Noten.notenInfo());
    }
}

最佳答案

从更改您的for循环

for (Noten note : notes123){
   System.out.println(Noten.notenInfo());
}




for (Noten note : notes123){
   note.notenInfo();
}


由于noteInfo方法定义为非静态方法,因此您尝试使用Noten(类)静态访问它。您只能在已将引用存储在arraylist中的对象上访问它。

关于java - “无法从静态上下文引用非静态方法”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26818982/

10-09 04:40