java does not support multiple inheritance because different classes may have different variable with same name that may be contradicted and can cause confusions resulting in errors.Java supports it through the interfaces.A class can extend one class and can implement more than one interfaces also.those interfaces may have variables with same names.Wont they create confusion?
static functions can call only other static functions and static variables then how does public static void main(String args) function is successful to call non-static functions and also non static variables?
we have been taught that whenever an object is created it always invokes a constructor, if not defined in the class then the compiler implicitly invokes it. why??? if there is a parameterized constructor in the class then the compiler does not provide the default constructor why?????