title: Primitive and Non Primitive types getters/setters and initialization
body: <p>Are Java non-primitive (object) data types treated in the same way as primitive data types? By treatment I mean...</p>
  
  <p>1 : Should they be private in the class?</p>
  
  <p>2 : Should they be initialized to some value during the declaration? (e.g. <code>String S = ""</code> instead of <code>String S</code>)</p>
  
  <p>3 : Should they have getters and setters too?</p>