Short answer; You will find out which method you are calling.
First, let's look at two methods that you are trying to use:
Observable.defer Observable, Observable factory, Observable , . , , factory.
: observableFactory Observable factory , Observable
: , Observable factory
public final static <T> Observable<T> defer(Func0<Observable<T>> observableFactory)...
Observable.subscribe , .
: onNext Action1, ,
: , , Observable .
public final Subscription subscribe(final Action1<? super T> onNext)...
, , - Strategy Pattern, .
defer Observable . A Func0 , ( R - Observable<String>):
public interface Func0<R> extends Function, Callable<R> {
@Override
public R call();
}
subscribe . Action1 ( T1 - String)
public interface Action1<T1> extends Action {
public void call(T1 t1);
}
new Action1<>() {...} new Func0<>() {...}, . , , Action1.call Func0.call.
:
, ? Action Func.
. , . , .
?
/, , . , . call. foo, bar.