Дельфи использовал свойства, и они нашли свой путь в.NET (потому что это имеет того же архитектора).
В Дельфи они часто используются в сочетании с информацией о типах во время выполнения, таким образом, что интегрированный редактор свойств может использоваться для установки свойства во время проектирования.
Свойства не всегда связываются с полями. Они могут быть функциями, настолько возможными, имеют побочные эффекты (но конечно который является очень плохим дизайном).
Предполагая, что лучшего способа связи нет (SOAP, ICE, сокеты и т. Д.), Я бы вызвал исполняемый файл с помощью Runtime.exec ()
. JNI можно использовать для прямого интерфейса, но я бы не рекомендовал его. Нет, вы не можете поместить исполняемый файл в банку. Можно, но нельзя запустить, так как оболочка не знает, как его запускать.
Вы также можете ознакомиться с Java Native Access API (JNA) .
Чтобы ответить на ваш последний вопрос, вы не можете запустить исполняемый файл из своего jar-файла.
Однако вы можете сохранить его в своем jar-файле и извлечь его в временный каталог / файл перед его запуском (проверьте его наличие в первый раз и при необходимости извлеките). Это несколько упростит ваше распространение, поскольку у вас есть только jar для распространения, и гарантирует, что вы запускаете исполняемый файл, который соответствует вашему jarred-коду Java.
Если у вас есть доступ к коду и вы хотите «интерактивного» взаимодействия с внешней программой (например, звонить, получать результаты, делать дополнительные звонки), изучите JNI, который позволяет звонить Код C или C ++ из приложения Java путем включения и связывания JNI с вашим приложением C или C ++ с помощью.
См .:
http://en.wikipedia.org/wiki/Java_Native_Interface
http: // www.acm.org/crossroads/xrds4-2/jni.html
Если вам действительно нужно решение типа «запустить приложение и получить результаты», попробуйте Runtime.exec (), который позволяет запускать внешнюю программу. & захватить его вывод.
См .: http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=1