null |
|
Note: The reason why there is a default value of 0 here is because they are all member variables and do not belong to local variables, so they have default values. Local variables need to be assigned their own values before they can be used.
Class variables (static variables)
The so-called class variables are static variables, modified by the keyword static, and stored in the method area. Space will be allocated when the class is loaded. , so class variables are separated from objects. That is to say, class variables can be used even if there is no instantiated object. See the picture below. If there is no object, you can still use class variables through class name.variable name
Similarly, the method modified by static is also a class method, also called a static method. It has the same properties as class variables. Space is allocated when the class is loaded and does not depend on the instantiated object. It can be directly Called through class name.function name().
If the variables and methods are not static, then we need to instantiate an object through the new keyword before we can use it.
public && private
There are many access modifiers in the definition of a class, and public and private are the two most commonly used. As the name implies, variables modified by public are public. The so-called public means that it can be accessed directly. For example, when we use public to modify member variables, it can be used normally and the members of the object are accessed through dots. But when we use private to modify, An error will be reported because private is private and can only be used within the
current class and cannot be referenced externally.
If you want to use it in other classes, you need to provide a public interface and call it to the class that needs to be used. To put it simply, I write a public method and you pass the data through the method. I, I operate it myself, such as the following methods. You can also know the functions of these methods by looking at their names. Let’s use these methods
You can see that through the public interface We can perform a series of operations on private member variables. Careful friends may find that
this appears in setName and other methods. Variable nameSo what is this? This is actually a Keyword, which represents
the reference of the current method, so why do we need this keyword? That’s because when the variable names are the same, local variables have limited use, which may lead to situations such as failure to assign values. See the figure below. When this is removed, the name is obviously the initial value. This is because local variables are used first, resulting in the member variables in the class not being assigned a value.
Some Suggestions and Summary
1. It is recommended that when implementing a class, member variables should be set to private attributes as much as possible to prevent data from being directly tampered with, and methods are not necessarily public. The interface is also set to private attribute, which will be determined according to the actual situation2. Use the camel case naming rule for variable names and method names. Try to be familiar with the name. If not, you should give appropriate Chinese comments. , to help others understand the meaning of the code3.Static modified code and code blocks take precedence over any code execution4.A class can create multiple objects, easy to understand, one Drawings can build multiple identical houses. For example, the buildings in the community are built from one drawing. 5. When instantiating an object, a constructor method is called. The so-called constructor method has a name and a class. Methods with the same name can take parameters and have no return value type declaration. If you do not define it, the compiler will automatically implement a constructor without parameters. If you define it, the compiler will not automatically generate it. And the constructor also supports overloading. One of the uses of the constructor is that it can assign values when creating an object.
If you add this.name, you don’t need setname. You only need to pass the parameters directly when creating the object. Other bloggers will not go into details. .
Written at the end
The above is what the blogger has learned during this period. That’s it for today’s sharing. If there are any unclear or incorrect expressions in the article, please comment or send a private message to point it out. The blogger will deal with it in time. Well, this blog ends here. See you in the next blog.
This article is reproduced from: https://blog.csdn.net/JunFengYiHan/article/details/116066556
Author: JunFengYiHan