Home > Article > Backend Development > static variables in php and java
Because static members are created when the class is first loaded, static members can be accessed using the class name without requiring an object outside the class; static members are shared by every instance object of this class , so can we use objects in PHP language to access static members in classes?
Static members do not exist inside every object, but every object can be shared, so if we use objects to access members, there will be no such attribute definition, and static members cannot be accessed using objects. In other cases, In object-oriented languages,
Java can use objects to access static members.
Static methods in a class can only access the static attributes of the class. Static methods in the class cannot access non-static members of the class. , the reason is very simple. If we want to access other members of this class in the method of this class, we need to use the reference $this, and the reference pointer $this represents the object that calls this method. We said that the static method is It is not called with an object, but is accessed using the class name, so there is no object at all, and there is no reference to $this. Without the reference to $this, non-static members in the class cannot be accessed, and because of the Static members can be accessed without objects, so the static methods in the class can only access the static properties of the class. Since $this does not exist, we use a special class "self" to access other static members in the static method. "; self is similar to $this, except that self represents the class in which this static method is located. So in a static method, you can use the "class name" of the class where the method is located, or you can use "self" to access other static members. If there are no special circumstances, we usually use the latter, that is, "self:: member attribute" "The way.