current position:Home>Java foundation object-oriented -- this and memory analysis

Java foundation object-oriented -- this and memory analysis

2022-01-26 22:58:13 #HashMap#

1. Object oriented and process oriented

I finished learning the basic knowledge of process oriented last week , This week began to enter object-oriented learning , In popular terms, process oriented is biased towards details, while process oriented is to dominate the overall situation , Like building a car , For process oriented , I need to consider the design of the chassis of the car , The design of tires and the selection of various parts in the car , For process oriented, I just need to design my car as a whole , We have completed the specific details by default .
Another example is running a school , Pei School of Shanghai Shang school , If he starts from enrollment to teaching to employment , Is it very inconvenient to answer questions and so on if you do it alone , This is process oriented . And if Pei school first recruits consulting teachers , Teaching teacher , Employment teacher , Distribute the task , Does this improve work efficiency , This is the idea of object-oriented , You will find that the essence of object-oriented is still the process oriented one .

2. first IT Students

The following code makes no practical sense , Just to understand

public class DemoClass001{
    
	public static void main(String[] args){
    
		
	}
}
/*  Student :  full name   Age   Gender   hobby  */
class Student{
    
	public String name;// Member variables , attribute 
	public int age;
	public boolean gender;//true For male ,false For female 
	public String hobby;

	public static void study{
    // Method 
		System.out.println("Talk is cheap,show me the code");
	}
}

A student class includes : Class name , attribute , Methods, etc.

3. Constructors ( Constructors )

It defines a student class , Not initialized yet , Initialization we usually write a constructor , The function of constructor is to initialize the defined student class , The following conditions need to be met
1) No return value , even void None
2) Must be consistent with the class name
3) When you create an object , writes new Called automatically by the system
4) When there is no constructor in a class , The system will automatically generate a default empty structure for us . If once given to the constructor , Then the system will no longer provide any constructors .

4.this keyword

this Refers to the current object , This object
1) In non static methods , be used for Distinguish between local variables and member variables , adopt this To access the variable , Is the member variable . When a local variable and a member variable have the same name , You have to use this Distinguish this. The attribute name , If you don't have the same name , at will
2) In the constructor , adopt this( parameter list ) To call other construction methods
Be careful : The following requirements need to be met
① Only in the constructor , Invoking Constructors
② Only on the first line
③ Calls between constructors , Cannot form a closed loop

public class DemoClass001{
    
	public static void main(String[] args){
    
		// With constructors, you can assign values directly 
		Student stu1 = new Student(" Liao Zhongmin ",18,true," Knock on the code ");
		System.out.println(stu1.hobby);
	}
}
/*  Student :  full name   Age   Gender   hobby  */
class Student{
    
	public String name;// Member variables , attribute 
	public int age;
	public boolean gender;//true For male ,false For female 
	public String hobby;

	public student(String name,int age,boolean gender,String hobby){
    
	// To distinguish between member variables and local variables, use this
		this.name = name;
		this.age = age;
		this.gender = gender;
		this.hobby = hobby;
	}

	public static void study{
    // Method 
		System.out.println("Talk is cheap,show me the code");
	}
}

Next is a simple memory analysis , Here is just a general analysis of the data trend of the above code , If there are academic mistakes, please understand , You are welcome to correct
 Insert picture description here

copyright notice
author[#HashMap#],Please bring the original link to reprint, thank you.
https://en.cdmana.com/2022/01/202201262258100989.html

Random recommended