1>Hello everyone I understand the code but my question is
super:its a keyword used to invoke base accessible members
but can you tell me its equivalent meaning i.e in case of fields its just upcast of this and then invokation of field ex:super.name in beer is equivalent to ((Animal)this).name
similarly what is its equivalence in case of method invokation using super keyword.
2>In this above code in Animal.check() when we call run(), it makes a call using this and this is pointing to Bear object so overriding method is invoked due to runtime
polymorphism
but super is used to invoke base members.Though it seems like reference variable holding base object but its not true.super is not a variable not like this(final variable)
how is it able to access base object's member??what internally goes on for super keyword which isn't a variable unlike this??
thanks in advance