
Since Downloader's outputFile variable is final, it can safely be used as a public property variable. This makes it simple to use in subclasses. Making it a public final variable rather than a getter also communicates that the value does not change since there is no getter method that could potentially change it. http://binkley.blogspot.com/2005/01/read-only-properties-in-java.html