文章出處

我們先看一道面試題:

  請問 final 的含義是什么?可以用在哪里?其初始化的方式有哪些?

首先我們回答一下這道題,然后再探究其所以然。 

    1、final 表示“最終的”、“不可改變的”,意指其修飾類不可以被繼承或修飾的屬性的值不可改變。
  2、final 既可以修飾類,也可以修飾屬性。
  3、final 變量可以直接初始化值,也可以在構造方法中初始化值,但是二者只可選其一。

好了!現在我們已經知道了答案了,那咱們就來一一驗證吧!

1、直接初始化屬性值,類不可被繼承:

package com.smbea.demo;
 
import org.junit.Test;
 
/**
 * final 修飾屬性并并直接初始化
 * 此類不可被繼承
 * @author hapday
 */
public final class FinalDemo2 {
    final int num = 9;
     
    @Test
    public void finalTest() {
//      this.num = 7;   // 這一句之所以注釋是因為報 The final field FinalDemo2.num cannot be assigned 的錯誤
        System.out.println(this.num);  // 輸出結果:9
    }
}

2、通過構造器為 final 的變量初始化:

package com.smbea.demo;
 
/**
 * final 修飾屬性并通過構造器初始化
 * @author hapday
 */
public class FinalDemo {
    final int num ;
     
    public FinalDemo(int num) {
        System.out.println("無參構造器");
        this.num = num;
        System.out.println(this.num);
    }
     
    public static void main(String[] args) {
        new FinalDemo(8);
    }
}

 

 

我們先看一道面試題:

  請問 final 的含義是什么?可以用在哪里?其初始化的方式有哪些?

首先我們回答一下這道題,然后再探究其所以然。 

    1、final 表示“最終的”、“不可改變的”,意指其修飾類不可以被繼承或修飾的屬性的值不可改變。
  2、final 既可以修飾類,也可以修飾屬性。
  3、final 變量可以直接初始化值,也可以在構造方法中初始化值,但是二者只可選其一。

好了!現在我們已經知道了答案了,那咱們就來一一驗證吧!

1、直接初始化屬性值,類不可被繼承:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.smbea.demo;
 
import org.junit.Test;
 
/**
 * final 修飾屬性并并直接初始化
 * 此類不可被繼承
 * @author hapday
 */
public final class FinalDemo2 {
    final int num = 9;
     
    @Test
    public void finalTest() {
//      this.num = 7;   // 這一句之所以注釋是因為報 The final field FinalDemo2.num cannot be assigned 的錯誤
        System.out.println(this.num);  // 輸出結果:9
    }
}

 

 2、通過構造器為 final 的變量初始化:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.smbea.demo;
 
/**
 * final 修飾屬性并通過構造器初始化
 * @author hapday
 */
public class FinalDemo {
    final int num ;
     
    public FinalDemo(int num) {
        System.out.println("無參構造器");
        this.num = num;
        System.out.println(this.num);
    }
     
    public static void main(String[] args) {
        new FinalDemo(8);
    }
}

  


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()