How much do you know about the Java final keyword?
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被调用了"); //! } }
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{ //!}
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 BasicsJAVA/JSP Learning Series One_php BasicsThe 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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











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 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.

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 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 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.

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

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 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.
