Home  >  Article  >  Java  >  What are the non-access modifiers in java?

What are the non-access modifiers in java?

(*-*)浩
(*-*)浩Original
2019-11-29 13:37:211944browse

What are the non-access modifiers in java?

Java provides many non-access modifiers to implement many other functions.

The static modifier is used to create class methods and variables. (Recommended learning: java course )

Final modifiers are used for completing classes, methods and variable implementation.

The abstract modifier is used to create abstract classes and methods.

synchronized and volatile modifiers, for threads

static modifier

static variables

The static keyword is used to create variables independent of class instances. No matter how many instances of a class there are, there is only one copy of the static variable. Static variables are also called class variables. Local variables cannot be declared static.

Static methods

The static keyword is used to create methods that are independent of class instances. Static methods cannot use instance variables that are objects of a class. Static methods are also called class methods. Static methods take all data from parameters and calculate something from those parameters without referencing variables. A class variable or method can be accessed using the class name followed by a dot (.) and the name of the variable or method.

final modifier

final variable

Final variable can only be initialized explicitly once, a reference declared as final Variables can never be reassigned to reference different objects. However, the data within the object can be changed. Therefore, the state of the object can be changed, but the reference cannot be changed. For variables, the final modifier is usually used with static to make the constant a class variable.

Final method

No subclass can override the final method. As mentioned before, the final modifier prevents the method from being modified in subclasses.

The main purpose of declaring a final method is to prevent others from changing the content of the method.

final class

The main purpose of using a class declared as final is to prevent the class from being subclassed. If a class is marked final, then this class cannot be inherited by other classes.

abstract decorator

Abstract class

Abstract (abstract) classes cannot be instantiated. If a class is declared abstract, its only purpose is to extend the class.

A class cannot be abstract and final at the same time (because final classes cannot be extended). If a class contains abstract methods, then the class should be declared abstract. Otherwise, a compilation error will be thrown.

Abstract classes can contain abstract methods as well as ordinary methods.

Abstract method

Abstract method is a method declared without any implementation. The method body (implementation) is provided by the subclass. Abstract methods are never final or strict.

Any class that extends an abstract class must implement all abstract methods of the superclass, unless the subclass is also an abstract class.

If a class contains one or more abstract methods, the class must be declared abstract. Abstract classes do not need to contain abstract methods.

Abstract methods end with a semicolon. Example: public abstract sample();

synchronized modifier

The synchronized keyword is used to indicate that only one method can be accessed at a time. The synchronized modifier can be applied to any of the four access level modifiers.

volatile modifier

The volatile modifier is used to let the JVM know that a thread accessing a variable must always merge its own private copy of the variable with the main copy in memory.

Accessing volatile variables will synchronize all cached copies of the variables in main memory. Volatile can only be applied to instance variables, whose type is private. A volatile object reference can be null.

The above is the detailed content of What are the non-access modifiers in java?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn