Допустим, у меня есть класс A, определенный в .java-файле, и класс B, определенный в файле .scala.
класс A использовать класс B и класс B использовать класс A.
Если я использую java-компилятор, у меня будет ошибка компиляции, потому что класс B еще не скомпилирован. Если я использую scala-компилятор, класс A не будет найден. Есть ли компилятор, который может скомпилировать оба вместе?Возможно ли иметь круговую зависимость между классами .java и .scala?
ответ
Я думал, что Scala 2.7.2 представил joint compilation mode, чтобы сделать именно это?
Какая версия scalac
вы используете, и работает ли этот режим в отключенном режиме?
Редактировать: Подождите, когда вы скажете, что скальп приводит к тому, что класс A не найден - вы поняли, что вам все равно нужно скомпилировать чистые файлы Java с javac
? Совместный режим компиляции Scalac фактически не производит вывод *.class
для файлов Java, а просто компилирует классы Scala против их подписи. Следовательно, вам по-прежнему необходимо скомпилировать файлы Java впоследствии, хотя теперь это не должно быть проблемой для javac
, когда классы Scala были скомпилированы.
Создать поддельный класс B на Java. Объявите, что только те члены, на которые ссылаются тела A. Methods, могут быть пустыми. Компиляция A.java и B.java вместе. Затем выбросьте B.class и скомпилируйте B.scala.
- 1. Зависимость между двумя классами
- 2. Циклическая зависимость между классами PHP
- 3. Зависимость между несколькими классами
- 4. Поймать круговую зависимость между наблюдаемыми
- 5. Сложная круговая зависимость между классами
- 6. Java: Неужели плохая практика имеет круговую зависимость в одном пакете?
- 7. Неправильно ли иметь несколько ассоциаций между классами?
- 8. Как удалить круговую зависимость в пошаговой игре?
- 9. Возможно ли различение типов между классами оболочки в Java?
- 10. Возможно ли найти зависимость между функциями PostgreSQL?
- 11. Sharing зависимости между классами, позволяя зависимость инъекций
- 12. как решить круговую зависимость
- 13. Решите круговую зависимость
- 14. Как удалить эту круговую зависимость
- 15. Решить круговую зависимость typedef?
- 16. Что вызывает круговую зависимость?
- 17. Задержка между классами тестов Scala
- 18. C++: зависимость конструктора между классами-членами
- 19. Как исправить эту круговую зависимость?
- 20. Как решить конкретную круговую зависимость?
- 21. Scala xml: зависимость между атрибутами
- 22. Шаблон класса, вызывающий круговую зависимость
- 23. С классами R S4 возможно ли иметь необязательные параметры конструктора
- 24. Возможно ли иметь связь между атрибутами сущностей?
- 25. Возможно ли иметь связь между двумя супертипами?
- 26. gfortran сделать круговую зависимость сброшен
- 27. Возможно ли использовать RMI двунаправленную между двумя классами?
- 28. Как решить эту круговую зависимость?
- 29. В чем разница между внутренними классами Scala и внутренними/вложенными классами Java?
- 30. Возможно ли иметь CDT и Java IDE вместе в Eclipse?
Спасибо, это именно то, что я хотел знать. Это только теоретический вопрос после лекции, в которой я был. – oshai 2010-12-16 18:28:22