A. reuse existin code and you can clarify the simple things like in simple picture you clarify stuff like getHeight that isn't in picture. it's all about inheritance.
B.a public method is a method that anyone can use and private is not accessable to anyone. usually with a private method you don't want the users messing with what you've written, so it's pretty safe from hackers
C. Static methods are called without using referance to the class. it's used with .notation like pickAFile() or Picutre p = Picture.reduceGreen("bj;ajf;ieojgaj;efr"); static methods are known to their class not to individual objects/variables.
D. does not return anything
E. you set a value to null when an object will eventually have a value and doesn't have one at the moment.
uhh feel free to correct me or add something because some of these are a bit wishy-washy