What is object-oriented ?
All objective things are objects .( Everything is object )
Composition of objects :
(1) Properties of the object : What are the external characteristics of the representative object , characteristic Attribute belongs to static part of object ; Using variables to store attribute information in actual development ( attribute -> variable ) (2)
Method of object : What functions does the representative object have , What can I do Method belongs to the dynamic part of object ; Utilization method in actual development ( function ) express
Relationship between classes and objects : A class can create multiple objects ( example ).
Classes are templates for objects .
Objects are instances of classes .
Components of classes :
class Class name { // mobile phone ( Class name =Phone) // 1. attribute : Describe object characteristics String name; // Name of mobile phone String color;
// Color of mobile phone // 2. method : Describe object functions , Can what public void run(){ System.out.println(" phone "); } }
Properties of class :
(1) attribute : Also known as Member variables (2) position : Defined within class , Beyond method (3) grammar : data type Attribute name ; data type Attribute name = value ;
be careful : The declaration and assignment must be completed together . Wrong writing : class Student{ double score; score = 60.0; // Compilation error }
(4) be careful : Actual development , Number of attributes ( What attributes are required ) Depends on the needs of the project (5) Member variables have default values : The system automatically assigns a value of the corresponding type according to the data type of the attribute integer :0
decimal :0.0 Boolean :false character : Empty character \u0000 object :null (6) Scope of action : At least valid in this category
be careful : In the member method of this class, you can directly pass the attribute name / Member variable name usage ; If you access properties in a class outside the class, you need to pass Object name . Attribute name / object . Member variables
be careful : Attributes can be defined above methods , Below the definition method (7) Attribute naming conflict : Attributes with the same name are not allowed in the same class ; However, member variables can be named the same as local variables ;
Same name , When accessing a variable with the same name in a method that defines a local variable , Local variables are used preferentially .
Differences between local variables and member variables ? ( Can answer 4 Just click )
Method of class :
(1) method : Called member method (2) position : Defined within class , Other methods (3) grammar : class Class name { // attribute // Member method public
return type Method name ( parameter list ){ // Implementation of method , Method body } } be careful : Method is no longer written static, Distinguish between subsequent blog explanations (4)
Methods are defined as : Method declaration and method implementation a. Declaration of method : What can the representative do Modifier return type Method name ( parameter list ) abnormal
be careful : The modifier of a method can have multiple , There is no position order requirement ; The method name needs to be literal , Adopt hump nomenclature ; Abnormal follow-up blog explanation b.
Implementation of method : How to realize the declared function of the representative object , How to do it specifically {}
Method overloading : (overload)
(1) understand : Define multiple methods with the same name in a class , But the formal parameter list is different (2) Requirements for method overloading : a. Same method name b.
The formal parameter list is different ( Number of parameters , order , Different data types ) c. Method modifier , return type , Abnormal no requirements (3) be careful : If only the parameter names are different , It does not constitute a parameter list public
void m1(int n){} public void m1(int m){} // Compilation error (4) use : Object name . Method name ( Argument );
be careful : Actual compile time , Match the corresponding method according to the actual parameters passed by the caller ; If the method corresponding to the formal parameter type is not found for the given actual parameter , Then the nearest up match ; But there should be no matching confusion . (5)
Application scenario : In an object, the same function has different implementation processes due to different parameters ; To facilitate developers to flexibly use the same function , Usually set to a method name , Give different parameters
Constructor in class :
(1) Construction method : Is a special method , Also known as constructor (construtor) (2) position : Defined within class , Other methods (3) Grammatical features of construction methods : a.
The method name of the constructor must be consistent with the class name b. Constructor has no return value type ( even void none ) Modifier Class name (){} c.
Constructor allows method overloading ( Multiple construction methods can be defined in a class ) be careful : At most one parameterless constructor can be defined in a class ; However, multiple structures with parameters can be defined at the same time
Manufacturing method ( The parameter list is different ) d. Constructor cannot be called manually , out of commission Object name . Formal application e.
Construction method when creating objects ,jvm Decide which construction method to use to complete the creation of objects according to the actual parameters passed f. An object can only use the constructor once when creating an object
be careful : A construction method can only be used once for an object ( When created ); However, a constructor can create multiple objects (4) Function of construction method : a. Used to create objects : b.
Assign values to attributes with the help of parameterized construction methods (5) be careful : a. If no constructor is defined in a class , be jvm Automatically provide a public , Parameterless construction method b.
If any constructor with parameters is provided in the class , be jvm No longer provide default Expose parameterless construction methods (6) Summary of actual development of construction method : a. In actual development, a class usually provides
2 Construction methods : I. A parameterless construction method II. Construction method with parameters : Number of parameters , order , Data type depends on attribute b. Parameterless construction is provided to facilitate the preparation of later framework development
How to create objects :
1. grammar : Class name Object name =new Class name (); ( Take students as an example :)// Student s = new Student(); 2. Use object : (1)
Attribute assignment : Object name . Attribute name = value ; be careful : The value type assigned depends on the data type of the attribute (2) Access to properties : Object name . Attribute name (3) Call the method of the object : Object name . Method name ( Argument );
be careful : If the called method has a return value , Pay attention to the processing of return value
this Application of :
this.
(1) this : Represents the current object ,this. It can be used to call the properties of the current object and the member methods of the current object (2) this. Attribute name Call the properties of the current object
this. Method name ( Argument ); Call the member method of the current object (3) this. It can be applied to construction methods or member methods in this class , Access current object properties and member methods (4)
be careful : During actual development this. Usually, it can be omitted , But when the names of member variables and local variables conflict , use this. Distinguish member variables class A{ int n= 2; //
Member variables public void test(){ int n = 6; System.out.println(n);//
Name conflicts between member variables and local variables. Local variables take precedence System.out.println(this.n); // Member variables ,this. The accessed must be member variables } }
this()
(1) this() It can only be used in the constructor of this class , On behalf of calling other construction methods of this class (2) this(): Represents calling the parameterless constructor of this class
this( Argument ): Represents calling the constructor with parameters of this class (3) be careful :this()/this( Argument ) Must be applied in a valid line of the constructor ; and
this()/this( Argument ) Not the default addition , Developers need to add it where there are corresponding requirements (4)
stay this()/this( Argument ) When applied , The first line of every constructor cannot appear this() Application of , Avoid loopback calls
quote : Variables of object type are called references .
Class name Reference name = new Class name (); Type of reference Type of object be careful :Java Is a strongly typed programming language , The data of the corresponding type is stored in the variable of the corresponding type ;
The referenced data type needs to be followed by new The object types of are consistent Student studnet=new Student
null Represents empty address , Does not point to any object in heap space .
During actual development , Usually available null Initialize for reference .
Student student = null; // initialization
If the content stored in the reference is null, When using references to access properties or member methods in an object , Compilation passed ; But the operation reports an error , The error message is :
Java.lang.NullPointerException( Null pointer exception )
Technology