[java] What is the difference between a static method and a non-static method?