java中final关键字

Posted wylwyl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中final关键字相关的知识,希望对你有一定的参考价值。

Java中的final关键字

 

1、修饰变量

 1 /**
 2  * 
 3  */
 4 package common;
 5 
 6 /**
 7  * <p>Description:</p>
 8  * 
 9  * @author Administrator
10  * @date 2019年1月7日下午1:05:10
11  * @version 1.0
12  */
13 public class TestFinal {
14 
15     private final int age;
16     
17 
18     public TestFinal(int age) {
19         super();
20         this.age = age;
21     }
22 
23     public int getAge() {
24         return age;
25     }
26 
27 
28     public static void main(String[] args) {
29         TestFinal tf = new TestFinal(10);
30         
31         System.out.println(tf.getAge());
32     }
33 
34 }

对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。

 

2、修饰类

被final修饰的类,那么该类不能被继承

 1 /**
 2  * 
 3  */
 4 package common.testfinal;
 5 
 6 /**
 7  * <p>Description:</p>
 8  * 
 9  * @author Administrator
10  * @date 2019年1月7日下午1:08:37
11  * @version 1.0
12  */
13 public class A {
14 
15 }
 1 package common.testfinal;
 2 
 3 /**
 4  * <p>Description:</p>
 5  * 
 6  * @author Administrator
 7  * @date 2019年1月7日下午1:08:52
 8  * @version 1.0
 9  */
10 public final class B extends A{
11 
12     public B() {
13         super();
14     }
15     
16 }
/**
 * 
 */
package common.testfinal;

/**
 * <p>Description:</p>
 * 
 * @author Administrator
 * @date 2019年1月7日下午1:09:47
 * @version 1.0
 */
public class C extends B{ //Error here

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

}

上面的类C不能继承类B,因为类B被final修饰。

 

以上是关于java中final关键字的主要内容,如果未能解决你的问题,请参考以下文章

java关键字final和抽象类

java关键字final和抽象类

java关键字final和抽象类

java关键字final和抽象类

Java之String相关内容详解(字符串和字符串常量池)面试题

java多线程04----------final和static