title: What is the difference between an Observer and a Subscriber?
body: <p>I am trying to decipher the following function:</p>
  
  <pre><code>Subscription getCar(id, Observer&lt;Car&gt; observer) {
      return getCarDetails(id, new Observer&lt;CarDetails&gt; {
                               @Override
                               onNext(CarDetails details) {           
                                   observer.onNext(details.getCar());
                               } });
  }
  </code></pre>
  
  <p>I got a good intro to rxjava from <a href="http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/">http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/</a> but it only mentioned Observer in passing, saying you'll be using Subscriber most of the time to consumer items emitted from an Observable. </p>
  
  <p>Can someone explain to me </p>
  
  <ol>
  <li>What is an observer?</li>
  <li>How is an observer different than a subscriber?</li>
  <li>What does the above code snippet do?</li>
  </ol>
  
  <p><a href="http://reactivex.io/RxJava/javadoc/">Javadoc</a> made it seem just like a subscriber.  The javadoc for subscriber says it implements observer and subscription.  I am very confused.</p>