Всегда можно было поделиться репо с помощью HTTP с довольно минимальной настройкой веб-сервера. Или вы можете настроить сервер SSH. Или используйте общую папку (хотя вы все равно захотите поместить пустое хранилище в общую папку, а затем сделать клоны для каждого разработчика локально).
(Вы также могли бы передавать информацию туда и обратно на дисках или USB-накопителях, или любым другим способом. Однако вы обычно не делитесь всем репо таким способом; вы бы создали » связывать файлы и делиться ими, и принимающая сторона будет рассматривать связку как удаленное хранилище.)
Хостинговые сервисы, такие как GitHub, просто основываются на этих опциях транспорта, которые были встроены в git заранее; сервисы действительно добавляют не базовый удаленный доступ, а такие вещи, как управление доступом, рабочий процесс и т. д.
нет, вы также можете написать
public interface IPluggableUi {
JComponent getPanel();
void initUi();
}
то же самое
Методы, объявленные в интерфейсах, по умолчанию являются как публичными, так и абстрактными.
Тем не менее, можно:
public interface myInterface{
public abstract void myMethod();
}
Однако использование этих модификаторов не рекомендуется. То же относится и к абстрактному модификатору, применяемому к объявлению интерфейса.
В частности, касательно вашего вопроса:
«Для совместимости со старыми версиями платформы Java разрешается, но не рекомендуется, из соображений стиля, избыточно указывать абстрактный модификатор для методов, объявленных в интерфейсах. "
источник: http://java.sun.com/docs/books/jls/second_edition/html/interfaces.doc.html
Раздел 9.4: Объявления абстрактных методов.
примечание; Значения, определенные в интерфейсе, являются public static final по умолчанию, поэтому
int VALUE = 5;
совпадает с
public static final int VALUE = 5;
в интерфейсе .
В Java нет открытого абстрактного интерфейса. Все интерфейсы являются «абстрактными» из-за того, что они не могут быть созданы. Все функции автоматически «абстрактны», так как они должны быть реализованы.
Нет. Вы можете только применить abstract
к методу к абстрактному базовому классу.
Интерфейсы определяют набор методов, которые в конечном итоге должны быть реализованы конкретным (неабстрактным классом).
Abstract будет указывать метод, который не реализован в абстрактном базовом классе, и который должен быть реализованным в конкретном подклассе.
(Отметим также, что ключевое слово public
является излишним в спецификациях методов интерфейса)