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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 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)

Hot Topics

Java Tutorial
1669
14
PHP Tutorial
1273
29
C# Tutorial
1256
24
PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP vs. Python: Understanding the Differences PHP vs. Python: Understanding the Differences Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

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

PHP vs. Other Languages: A Comparison PHP vs. Other Languages: A Comparison Apr 13, 2025 am 12:19 AM

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP vs. Python: Core Features and Functionality PHP vs. Python: Core Features and Functionality Apr 13, 2025 am 12:16 AM

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP's Impact: Web Development and Beyond PHP's Impact: Web Development and Beyond Apr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP: The Foundation of Many Websites PHP: The Foundation of Many Websites Apr 13, 2025 am 12:07 AM

The reasons why PHP is the preferred technology stack for many websites include its ease of use, strong community support, and widespread use. 1) Easy to learn and use, suitable for beginners. 2) Have a huge developer community and rich resources. 3) Widely used in WordPress, Drupal and other platforms. 4) Integrate tightly with web servers to simplify development deployment.

PHP vs. Python: Use Cases and Applications PHP vs. Python: Use Cases and Applications Apr 17, 2025 am 12:23 AM

PHP is suitable for web development and content management systems, and Python is suitable for data science, machine learning and automation scripts. 1.PHP performs well in building fast and scalable websites and applications and is commonly used in CMS such as WordPress. 2. Python has performed outstandingly in the fields of data science and machine learning, with rich libraries such as NumPy and TensorFlow.

See all articles