Inheritance of classes
##Subclasses and their definitions
The definition of a subclass uses the keyword extendsFormat:class SubClass extends SuperClass{ ........ }
Single inheritance:
Java only supports single inheritance, that is, it can only inherit from one class, and there can only be one class name after the extends keyword. Advantages: Possible conflicts between multiple parent classes can be avoided.Interface interface mechanism allows one class to implement multiple interfaces
super keyword
The super keyword points to this key The parent class of the class where the word is located, the parent class reference variable can point to the subclass objectFormat:super.someNethod([paramlist])//调用父类中的someMethod()方法
Creation of subclass object
Steps: Allocate all memory space required by the object and initialize it to 0 valueAccording to inheritance relationship, top-down explicit initializationAccording to inheritance relationship, top-to-bottom initialization Call the constructor methodAnother expression of subclass object initialization:
Basic initialization, execute the constructor method, first execute the parent class constructor method, execute the parent class constructor Before the method, an explicit initialization statement of the parent class must be executed.Overriding of methods
(1) The return value type of the overridden method in the subclass must be the same as the return value type of the overridden method in the parent class(2) The access permissions of overridden methods in subclasses cannot be reduced (3) Subclass overrides cannot throw new exceptions: method overriding is to implement object runtime polymorphism The basis ofPolymorphism: compile-time polymorphism and run-time polymorphism
Compile-time polymorphism: such as overloadingRun-time polymorphism : For example, rewriteUpcasting
Convert a reference to an object of one type into a reference to an object of another typeDownward Casting (casting)
instanceofOperator
aOblectVariable instanceof SomeClass
SomeClass, the value of the expression is true, otherwise it is false
Format
(SomeClass)aObjectVariable
Every class in java is a direct or indirect subclass of the Object class.
equals class: compare the values of two objects
Override the equals() method Purpose: define the value of the object
Java regulations: two The hashCode() return values of objects with equal values must be equal, so override the equals() method and also the hashCode() method, using "==" to compare the addresses of the two objects. toString() method
Returns the string representation of the object.
getClass() method
Returns the class information of the object. This method returns an object of Class type.
Recommended related articles and tutorials:java entry program
The above is the detailed content of An article will give you a detailed understanding of class inheritance and polymorphism in Java. For more information, please follow other related articles on the PHP Chinese website!