2011-01-13 4 views
2

Hoi, 저는 스칼라를 배우고 일부 Java 코드를 스칼라로 변환하려고합니다. 여기에 내가 스칼라스칼라에서 "클래스를 포위하지 않는다"는 의미는 무엇입니까?

다음
class Note{ 
    protected[Meeting] addNote(n:Meeting){ 
     //add n to list 
    } 
} 

abstract class Meeting(name:String,note:Note){ 
    note.addNote(this) 
} 

로 번역 할 때이 클래스 주에 오류가 발생했습니다

public class Note{ 
    protected void addNote(Meeting n) { 
     //add n to a list 
    } 
} 

public abstract class Meeting{ 

    public Meeting(String name, Note note){ 
     note.addNote(this) 
    } 
} 

번역 할 자바에서 아래의 코드 중 일부입니다 : 회의가 둘러싸는 클래스가 아닙니다.

무엇을 의미합니까? 나는 회의 대신 packagename을 시도해 보았습니다 : protected [packagename] addNote (n : Meeting),하지만 작동하지 않습니다.

답변

1

그런 식으로 친구 클래스를 만들 수 없습니다. 다음과 같이 동봉 패키지를 추가하십시오.

package translation 
class Note{ 
    protected[translation] def addNote(n:Meeting){ 
    //add n to list 
    } 
} 
abstract class Meeting(name:String, note:Note){ 
    note.addNote(this) 
} 
관련 문제