Download directly

We’ve mentioned the book “Effective Java” by Joshua Bloch quite a few times on previous episodes. At this point, everyone knows they should have read this book (quadruple times). But it’s a dense read and everyone could use a reading buddy. Also, what does Effective Java look like through the eyes of an Android developer?

In this second installment of our Fragment (a.k.a mini-episode), we thought we’ll do our listeners a favor and help with that reading. We introduce the very first of these venerable “Items”: Consider providing static factory methods instead of constructors.

Stay tuned for more items from our “Effective Java for Android developers” Fragment series.

Show Notes #

Consider providing static factory methods instead of constructors #

Advantages: #

  1. You can control the name and thus give it much more meaningful names
  2. You are not required to create a “new” object each time they are invoked
  3. You can even return an object that’s a subtype of the return type (unlike constructors which only return class type)

Disadvantages: #

  1. Classes without public or protected constructors cannot be subclassed
  2. Static factory methods are not readily distinguishable from other static methods

Takeaways #

  1. “Consider” using static factory methods (not always)
  2. Use newInstance when creating Fragments [androiddesignpatterns.com]
  3. Use newIntent static factory method for creating intents inside the target activity.

Contact us: #