/*
* this:
* 1. Can be used to modify properties, methods, constructors
* 2.this is understood as an object or an object being created. Like THIS.name.
* 3. You can pass "this (parameter)" In the constructor: The specified overloaded constructor that can be used to display overloads of the current class
* Requirements: 1. Inside the constructor must be in the first row
* 2. If there are n constructors in a class, a maximum of n-1 constructors are used in this
*
*
Super: Can be used to modify properties, methods, constructors
*
* 1) When a subclass has a property of the same name as the parent class, the properties declared in the calling parent class can be displayed through the "Super. Properties"
* If you want to invoke a property with the same name as the subclass "this. Property"
*
* 2) when the subclass overrides the method of the parent class, in the subclass, if you want to display the overridden method of the calling parent class again. You need to use the super. method
*
Super Modifier constructor: Displays the constructor specified by the calling parent class by using "Super" (formal parameter list) in the subclass
* > Inside the constructor "super (formal parameter list)" must be declared in the first row
* > Inside the constructor: "This (formal parameter list)" or "super (parameter list)" Any of them, the default call is the parent class NULL parameter
* The constructor.
One, super, compared to this, you can modify the property method constructor
*
* Super Modifier attribute method: In the subclass of the method constructor through the super. property or Super. method to display the established property or method of the calling parent class.
* In particular, when a subclass has the same name as a parent class, or a method, call the structure of the parent class, make sure to use "super."
*
* displayed in the constructor of the subclass by "super (formal parameter list)", calling the constructor specified by the parent class
* > Any class (except object) of the first row of the constructor, either a call to the other constructors that are overloaded in this class "this (parameter list)" or the constructor "super (formal parameter list)" That is displayed in the calling parent class
* or the constructor "super ()" that calls the parent null parameter by default
* > Suggest a constructor that provides an empty parameter when designing a Class!
*
* Two, subclass instantiation of the whole process
*
* Three, object-oriented polymorphism
Overloading of the *1.① method and rewriting the polymorphism of the ② sub-class object
* * Used in advance: ① to have an inheritance relationship ② to have a method override
Format: Person P =new Man ()//upward transformation;
* P.eat ();
*
*4.> compile, I think P is the person type, it can only execute the structure of the person, that is, man-specific structure can not call
* > Polymorphism of Subclass objects, not used for attributes
*
A. About the downward transformation
*① downward transformation using strong-to-go characters ()
*② in order to ensure that B does not report classcastexception best before the transition to judge: instanceof
*
* Four. The object class is the root parent class for all classes!
* Constructors with NULL parameters only
* About Methods
*equals (Object) is not rewritten to compare address values
*/
Object-oriented features