Detailed use of Java final keyword

Java final keyword

The final keyword canRetouch 类、变量、方法
finalCan be translated asFinal, immutable

1.final modification class

Class modified by finalCannot be inherited
If you are sure that this class does not want to be inherited by other classes, then use the final keyword modification.
Insert picture description here
If you want to inherit a class that is final modified, the IDE will reportCannot inherit from the final'demo01.Father' mistake.

2.final modified variable

Variables modified by finalCannot be modified, and can only be assigned once

Local variable

Insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here Insert picture description here
Modify a local variable modified by final, IDE will report Unable to assign a value to the final variable "x" mistake.

Member variables

Direct assignment Assignment
Insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here Insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture here Description Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here
using construction method (two ways)
Insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here Insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture here Description Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture here Description Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here

【tips】

Variables modified by final, no matter which method is used, allCan only be assigned once, And after the assignment, it becomesRead onlystatus,Unchangeable

3.final modification method

Methods modified by finalCan not be overridden by subclasses
Insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here Insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture description here, insert picture here Description Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here Insert picture description here
If you want to subclass to rewrite a final modified class, the IDE will report 'num()' cannot overwrite'num()' in'demo01.Father'; the overriding method is final mistake.

4. Expand knowledge

Modified by finalObject address value is immutable,butThe content pointed to in the object can be changed

class Student{
     
     
   int num = 5;
}
public class Demo02 {
     
     
   public static void main(String[] args) {
     
     
       final Student s = new Student();
       System.out.println(++s.num);//打印结果为:6
   }
}

Guess you like

Origin blog.csdn.net/weixin_44580492/article/details/106715484
Recommended