So what is pass by value and what is pass by reference in Java? By that I know you have to pass primitives by value and objects by reference correct? What else is forced to be passed by value and reference? The super class calls the constructor but I don’t understand the point of that since all sub-classes have access to the parent class methods anyway? Jave has an object type can somebody explain to me how that works? For abstract classes can you have all abstract methods or NO abstract methods?