2014-11-08 3 views
0

다른 클래스 (Noten)의 개체를 여기에 추가하고이를 인쇄하면됩니다. 이것이 일반적인 문제이지만 여전히 해결책을 찾을 수 없다는 것을 알고 있습니다. notenInfo() 이후"정적 컨텍스트에서 비 정적 메서드를 참조 할 수 없습니다."오류

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()); 
    } 
} 
+4

'Noten.notenInfo()'는 아마도'note.notenInfo()' – August

답변

3

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

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

에서 루프에 대한 귀하의 변경

당신은 정적 (노텐를 사용하여 액세스하려고 수업). arraylist에 이미 저장된 참조가있는 객체에서만이 객체에 액세스 할 수 있습니다.

1

Noten은 개체의 인스턴스 호출되어야 정적 메소드 아니다. 예를 들어 : noteInfo 방법 비 정적 메서드로 정의되기 때문에

Noten n = new Noten(); 
n.notenInfo(); 
+0

'Noten = new Noten();이어야합니다. n.notenInfo(); ' 'void '유형이 허용되지 않습니다. –