Home Java javaTutorial How much do you know about the Java final keyword?

How much do you know about the Java final keyword?

Sep 14, 2018 am 10:35 AM

For beginners, Tomcat is a very good choice to execute JSP and Servlet. You can also use Resin, both of which cost nothing. Resin's support for Xml is very good.

1. FINAL

This is the main purpose of Final, which means that it is equivalent to the Const of C/C, that is, the member is modified as a constant, which means that it cannot be modified. For example, PI and E in the java.lang.Math class are final members, and their values ​​are 3.141592653589793 and 2.718281828459045.

2. Final

of the modifier or object. In Java, we cannot let the object be modified to final, but can only modify the reference of the object, which means that even if you write public final A a = new A(); In fact, the data of the object pointed to by a can still be modified. What cannot be modified is the reference value of a itself, that is, you cannot reassign a. The same situation occurs in arrays, such as public final int[] a = {1, 2, 3, 4, 5}. In fact, the value in a is modifiable, that is, a[0] = 3 can be written. According to current understanding, the data in the array in Java cannot be modified to be unmodifiable, but C/C can.

3. The final of the modified method is very different from the const used to modify the member object in C/C. First of all, the final meaning of a modified method is not "unmodifiable", but means that the method cannot be redefined by inherited members. (Note that what is said here cannot be redefined does not mean that subclasses must not define methods with the same name. If the method of the parent class is a private type, the subclass is allowed to define the method. What is meant here is that it cannot be redefined. By rewriting the method, the polymorphism of method overriding can be realized. If you do not want the overriding method situation like A a = new B(); a.f(); to occur)

Example:

public class A {
    // final方法f
    public final void f() {
       System.out.println("类A中的final方法f被调用了");
    }
}
public class B extends A {
    // 编译错误!父类的f方法是final类型,不可重写!
    //! public void f() {
    //!     System.out.println("类B中的方法f被调用了");
    //! }
}
Copy after login

In addition, when a method is modified as a final method, it means that the compiler may load the method inline (inline). The so-called inline method means that the compiler does not need to call a function in the usual way. To call the method, instead, directly copy the code in the method to the original code after certain modifications (insert the method body directly into the calling point instead of making a method call). This can make the code execute faster (because the overhead of calling the function is omitted), such as calling arr.length() in int[] arr = new int[3], etc.

On the other hand, private methods are also implicitly modified as final by the compiler, which means there is no difference between private final void f() and private void f().

4. Final

of the modified class. When a class is modified as Final, its meaning is clear, that is, this class is not allowed to be inherited, that is, this class is "absolutely" , any operation that inherits from it will end in a compilation error. This also highlights the reason why Java uses final instead of const as identifiers. (Member variables may not be final, and member methods may be final directly)

Example:

       public final class A {
}
// 编译错误!A是final类型,不可被继承!
//!public class B extends A{
//!}
Copy after login

5. Parameter final

Make final the object parameters Grooming. It is thought that the object variable is passed its reference, which is modified to prevent unintentional changes during the calling process.

Related recommendations:

JAVA/JSP Learning Series Three_php Basics

JAVA/JSP Learning Series One_php Basics

The above is the detailed content of How much do you know about the Java final keyword?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Square Root in Java Square Root in Java Aug 30, 2024 pm 04:26 PM

Guide to Square Root in Java. Here we discuss how Square Root works in Java with example and its code implementation respectively.

Perfect Number in Java Perfect Number in Java Aug 30, 2024 pm 04:28 PM

Guide to Perfect Number in Java. Here we discuss the Definition, How to check Perfect number in Java?, examples with code implementation.

Random Number Generator in Java Random Number Generator in Java Aug 30, 2024 pm 04:27 PM

Guide to Random Number Generator in Java. Here we discuss Functions in Java with examples and two different Generators with ther examples.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Guide to Weka in Java. Here we discuss the Introduction, how to use weka java, the type of platform, and advantages with examples.

Armstrong Number in Java Armstrong Number in Java Aug 30, 2024 pm 04:26 PM

Guide to the Armstrong Number in Java. Here we discuss an introduction to Armstrong's number in java along with some of the code.

Smith Number in Java Smith Number in Java Aug 30, 2024 pm 04:28 PM

Guide to Smith Number in Java. Here we discuss the Definition, How to check smith number in Java? example with code implementation.

Java Spring Interview Questions Java Spring Interview Questions Aug 30, 2024 pm 04:29 PM

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Break or return from Java 8 stream forEach? Break or return from Java 8 stream forEach? Feb 07, 2025 pm 12:09 PM

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

See all articles