정상적으로 수행되며 필요에 따라 사용할 수 있습니다. 당신은 일반적으로 파일 (Consts 예를 들면) 안에있을 수없는 것들을 그룹화 할 수 있습니다.
val DefaultKey="12345" //not legal inside a file outside of a class or object
class A (key:String) {
}
법률 버전 :
package com.mytest
object KeyExchange {
val DefaultKey="12345" //now legal
class A (key:String) {
}
}
사용 :
object Test extends App { //extending App is like a main method
import com.mytest.KeyExchange._ //can use import statement here, bringing in class A and the const.
val myA = new A(DefaultKey)
}
패키지 개체 일들이이 클래스와 특성을 사용할 수있게의 내부에 배치를 제외하고, 가지 개념처럼 이 패키지의 일부로 정의됩니다 (예 : com.mytest). 클래스에서 자주 사용하는 const 항목이나보다 중요한 암시 적 함수 및 객체를 넣을 장소입니다. 이러한 모든 것들을 별도의 파일 및 객체에 배치 할 수 있지만 매번 명시 적으로 객체를 가져와야합니다. 패키지 객체를 사용할 필요가 없습니다. 제 생각에 이것은 대부분의 수업에서 사용할 수있는 항목에 대해서는이 기능을 드물게 사용해야합니다.
참조 : 예, 우리가 할 수있는 http://www.scala-lang.org/docu/files/packageobjects/packageobjects.html
! pkg 객체의 이전 문제가 수정되었습니다. 이 답변 http://stackoverflow.com/a/17276060/1296806을 참조하십시오. 때로는 객체를 포함하는 외부 ptrs가 문제가됩니다. –
역사적으로 https://issues.scala-lang.org/browse/SI-1987 및 패키지 개체가 있으면 재 컴파일을 방해 할 수 있습니다. PO는 의도 한대로 사용하는 것이 가장 좋습니다. 마지막으로, 케이크가 패스트리 객체에 쌓인 여러 종류의 유형이라는 것을 상기하십시오. –
패키지 객체가 열려 있습니까? – pedrofurla