Podchaser Logo
Home
014: Effective Java for Android developers : Item 1

014: Effective Java for Android developers : Item 1

Released Monday, 10th August 2015
Good episode? Give it some love!
014: Effective Java for Android developers : Item 1

014: Effective Java for Android developers : Item 1

014: Effective Java for Android developers : Item 1

014: Effective Java for Android developers : Item 1

Monday, 10th August 2015
Good episode? Give it some love!
Rate Episode

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:

Show More

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features