What are the differences between public, private, protected,static, transient, final and volatile?