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
copyright notice
author[#HashMap#],Please bring the original link to reprint, thank you.
https://en.cdmana.com/2022/01/202201262258100989.html
The sidebar is recommended
- Spring IOC container loading process
- [thinking] the difference between singleton mode and static method - object-oriented programming
- Hadoop environment setup (MySQL environment configuration)
- 10 minutes, using node JS creates a real-time early warning system for bad weather!
- Git tool
- Force deduction algorithm - 92 Reverse linked list II
- What is the sub problem of dynamic programming?
- C / C + +: static keyword summary
- Idea does not have the artifacts option when configuring Tomcat
- Anaconda can't open it
guess what you like
-
I don't know how to start this
-
Matlab simulation of transportation optimization algorithm based on PSO
-
MySQL slow log optimization
-
[Vue] as the window is stretched (larger, smaller, wider and higher), the text will not be displayed
-
Popular Linux distributions for embedded computing
-
Suzhou computer research
-
After installing SSL Certificate in Windows + tomcat, the domain name request is not successful. Please answer!!
-
Implementation time output and greetings of jQuery instance
-
The 72 year old uncle became popular. Wu Jing and Guo fan made his story into a film, which made countless dreamers blush
-
How to save computer research
Random recommended
- Springboot implements excel import and export, which is easy to use, and poi can be thrown away
- The final examination subjects of a class are mathematical programming, and the scores are sorted and output from high to low
- Two pronged approach, Tsinghua Professor Pro code JDK and hotspot source code notes, one-time learning to understand
- C + + recursive knapsack problem
- The use of GIT and GitHub and the latest git tutorial are easy to understand -- Video notes of crazy God speaking
- PostgreSQL statement query
- Ignition database test
- Context didn't understand why he got a high salary?, Nginxfair principle
- Bootstrap switch switch control user's guide, springcloud actual combat video
- A list that contains only strings. What other search methods can be used except sequential search
- [matlab path planning] multi ant colony algorithm grid map path planning [including GUI source code 650]
- [matlab path planning] improved genetic algorithm grid map path planning [including source code phase 525]
- Iinternet network path management system
- Appium settings app is not running after 5000ms
- Reactnative foundation - 07 (background image, status bar, statusbar)
- Reactnative foundation - 04 (custom rpx)
- If you want an embedded database (H2, hsql or Derby), please put it on the classpath
- When using stm32g070 Hal library, if you want to write to flash, you must perform an erase. If you don't let it, you can't write continuously.
- Linux checks where the software is installed and what files are installed
- SQL statement fuzzy query and time interval filtering
- 69. Sqrt (x) (c + + problem solving version with vs runnable source program)
- Fresh students are about to graduate. Do you choose Java development or big data?
- Java project: OA management system (java + SSM + bootstrap + MySQL + JSP)
- Titanic passenger survival prediction
- Vectorization of deep learning formula
- Configuration and use of private image warehouse of microservice architect docker
- Relearn JavaScript events
- For someone, delete return 1 and return 0
- How does Java dynamically obtain what type of data is passed? It is used to judge whether the data is the same, dynamic data type
- How does the database cow optimize SQL?
- [data structure] chain structure of binary tree (pre order traversal) (middle order traversal) (post order traversal) (sequence traversal)
- Webpack packaging optimization solution
- 5. Operation element
- Detailed explanation of red and black trees
- redhat7. 9 install database 19C
- Blue Bridge Cup notes: (the given elements are not repeated) complete arrangement (arrangement cannot be repeated, arrangement can be repeated)
- Detailed explanation of springboot default package scanning mechanism and @ componentscan specified scanning path
- How to solve the run-time exception of test times
- Detailed explanation of k8s management tool kubectl
- Android system view memory command