Final类型数据的初始化
final類型的數據(基本類型和引用類型)分為編譯是確定值,和運行時確定值兩類。都要保證在使用前進行初始化,注意final類型的數據若在定義時沒有顯示初始化,是沒有默認初值的。對于在定義時沒有顯式初始化的,應該在構造方法中進行初始化,這時可以利用不同參數傳遞給它,使得它可以根據具體對象的不同而不同,并且保證在不同的對象中始終唯一。
//FinalDataInitial.java
//Fianl data in the constructor
package com.msn.spaces.bryantd001;
public class FinalDataInitial{
??? //編譯時初始化
??? private final int finalInt=10;?
??? private final float finalFloat=returnFloatValue();
??? //運行時初始化
??? private final double finalDouble;
??? private final String finalStr;
??? public FinalDataInitial(){
?????????? System.out.println("Final data are initialized in the constructor without arguments");
?????????? finalDouble=20;
?????????? finalStr="I am a final string initialized in the constructor without argument";
?????????? System.out.println(this);
??? }
????public FinalDataInitial(double finalDouble, String finalStr){
????????? System.out.println("Final data are initialized in the constructor with arguments");
????????? this.finalDouble=finalDouble;
????????? this.finalStr=finalStr;
??????? ?System.out.println(this);
??? }
??? public float returnFloatValue(){
????????? return 1.0f;
??? }
??? public String toString(){
????????? return "finalInt = "+finalInt+"/n"
???????????????????+"finalFloat = "+finalFloat+"/n"
?????????????????? +"finalDouble = "+finalDouble+"/n"
?????????????????? +"finalStr = "+finalStr;
??? }
????public static void main(String[] args){
????????? FinalDataInitial fdiObj=new FinalDataInitial();
????????? System.out.println();
??????????FinalDataInitial fdiObj2=new FinalDataInitial(5.0d, new String("I am a final string initialized in the?onstructor with argument"));??
??? }
}
總結
以上是生活随笔為你收集整理的Final类型数据的初始化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言制作通讯录程序
- 下一篇: 文达仓库管理软件 v5.32 网络版 怎