scalac을 사용하여 file.scala를 컴파일 할 때 file.class와 file $ .class의 두 출력으로 끝납니다. 이 파일 들간의 차이점은 무엇이며, 그 중 적절한 것이 실행됩니까? "scala file"vs "scala file $"을 실행하는 것과는 분명히 다른 오류 메시지가 나타납니다.
0
A
답변
0
파일 $ .class는 일부 내부 익명 클래스입니다. 자바에서는 매우 명시 적이지만 스칼라에서는 놓칠 수 있습니다. 함수를 사용하는 메서드를 사용하면 거기에 암시 적으로 익명의 클래스가 있습니다. 코드를 게시하면 그것을 지적하겠습니다.
1
스칼라 object
같은 이름의 "일반"클래스를 사용할 수 있으므로 "$"로 끝나는 클래스로 컴파일됩니다. 그러나 객체의 메서드는 "일반"클래스에서 정적 메서드로도 노출되므로 예상 한 이름으로 호출 할 수 있습니다. 이것은 Java/JVM에서 이해할 수있는 방식으로 스칼라 의미를 표현하려고 시도한 결과물이며 중요한 내용이 아닌 구현 세부 사항으로 간주하는 것이 좋습니다.
(MattPutnam의 대답은 폐쇄를 포함한 익명 클래스는, 이름에 $ 말이지와 클래스 파일로 컴파일하는 것이 정확하지만이 특정 인스턴스에 파일 $을 .class 원인을하지 무엇 @)
사용 scala file
. 구현 세부 정보에 관심이 있다면 java -cp /path/to/scala-library.jar file
을 사용해 보시기 바랍니다.
관련 문제
- 1. 단순한 경우 # import와 @class의 차이점
- 2. "./file"및 "file"상대 경로의 차이점
- 3. 스칼라 함수와 하위 쿼리의 차이점
- 4. before-save-hook과 write-file-functions의 차이점
- 5. View Class의 빈에 액세스하기
- 6. ng-class의 동적 탭
- 7. DBIx :: Class의 연산 설정
- 8. DBIx :: Class의 관계 삽입하기
- 9. ng-class의 구문
- 10. openCL - 배열 및 스칼라 처리 차이점
- 11. ng-class의 식에서 대리 메서드
- 12. ClassName.this와 Context Class의 관계는 무엇입니까?
- 13. model-class의 배열에서 NULL을 반환합니다.
- 14. 스칼라 인터프리터는 객체가 패키지의 구성원이 아니라고 말합니다.
- 15. while (! file.eof())와 while (file >> variable)의 차이점
- 16. `File` 객체 (w +, r +)의 액세스 모드의 차이점
- 17. java FileInputStream - File 객체 참조 방식에 따른 차이점 : classloader/filesystem
- 18. <className> .class의 차이점 (this는 <classname>을 나타냄)
- 19. File :: Find는 배열인가 스칼라인가?
- 20. Java Outer Class의 인스턴스가 Java Inner Class의 모든 인스턴스를 호출 할 수있는 방법이 있습니까? 다음 코드와
- 21. 어떤 CSS 선택기의 성능이 더 빠릅니까? Class의 Class 대 class의 tagName?
- 22. SPFile과 PublishingPage 클래스의 차이점
- 23. FILE *
- 24. file : //
- 25. SQLite의 스칼라 SQL 함수와 집계 SQL 함수의 차이점
- 26. 스칼라 반복 가능 및 반복 가능 차이점 및 용도
- 27. 스칼라 - 스트림 API 필터 메서드와 목록의 차이점 withFilter 메서드
- 28. Abstract Inner Class의 메서드를 재정의하려면 어떻게해야합니까?
- 29. Class의 java 5 메소드 캐스트는 언제 사용해야합니까?
- 30. Ember Class의 이름은 어떻게 얻을 수 있습니까?