AssertionError by JVM or Programmer
StackOverFlowError by JVM or Programmer
ExceptionIntializeerError by JVM or Programmer
NoClassdefFoundEror by JVM or Programmer
Second quesiton
Using a reference variable of an interface type instead of a class implementing that interface -->>>???
A class that provides only one specific funcitonalty -->>>>High Cohesion
A class taht directly access member fields of other class -->>>???
When changing the implementaiton of class does not affect classes that use it -->>>???
Now we have four option which map to each of above
High Cohesion,Low Coupling,High Coupling,Low Cohesion
Source:entuware trail
test