創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、營(yíng)銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)公司、手機(jī)網(wǎng)站開發(fā)、微商城、網(wǎng)站托管及網(wǎng)站維護(hù)、WEB系統(tǒng)開發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為石涼亭行業(yè)客戶提供了網(wǎng)站推廣服務(wù)。這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)finalize()方法如何在Java項(xiàng)目中使用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Java中finalize()詳解
在程序設(shè)計(jì)中,我們有時(shí)可能希望某些數(shù)據(jù)是不能夠改變的,這個(gè)時(shí)候final就有用武之地了。final是Java的關(guān)鍵字,它所表示的是“這部分是無(wú)法修改的”。不想被改變的原因有兩個(gè):效率、設(shè)計(jì)。使用到final的有三種情況:數(shù)據(jù)、方法、類。
一、 final數(shù)據(jù)
有時(shí)候數(shù)據(jù)的恒定不變是很有用的,它能夠減輕系統(tǒng)運(yùn)行時(shí)的負(fù)擔(dān)。對(duì)于這些恒定不變的數(shù)據(jù)我可以叫做“常量”?!俺A俊敝饕獞?yīng)用與以下兩個(gè)地方:
1、編譯期常量,永遠(yuǎn)不可改變。
2、運(yùn)行期初始化時(shí),我們希望它不會(huì)被改變。
對(duì)于編譯期常量,它在類加載的過(guò)程就已經(jīng)完成了初始化,所以當(dāng)類加載完成后是不可更改的,編譯期可以將它代入到任何用到它的計(jì)算式中,也就是說(shuō)可以在編譯期執(zhí)行計(jì)算式。當(dāng)然對(duì)于編譯期常量,只能使用基本類型,而且必須要在定義時(shí)進(jìn)行初始化。
有些變量,我們希望它可以根據(jù)對(duì)象的不同而表現(xiàn)不同,但同時(shí)又不希望它被改變,這個(gè)時(shí)候我們就可以使用運(yùn)行期常量。對(duì)于運(yùn)行期常量,它既可是基本數(shù)據(jù)類型,也可是引用數(shù)據(jù)類型?;緮?shù)據(jù)類型不可變的是其內(nèi)容,而引用數(shù)據(jù)類型不可變的是其引用,引用所指定的對(duì)象內(nèi)容是可變的。
public class Person { private String name; Person(String name){ this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } } public class FinalTest { private final String final_01 = "chenssy"; //編譯期常量,必須要進(jìn)行初始化,且不可更改 private final String final_02; //構(gòu)造器常量,在實(shí)例化一個(gè)對(duì)象時(shí)被初始化 private static Random random = new Random(); private final int final_03 = random.nextInt(50); //使用隨機(jī)數(shù)來(lái)進(jìn)行初始化 //引用 public final Person final_04 = new Person("chen_ssy"); //final指向引用數(shù)據(jù)類型 FinalTest(String final_02){ this.final_02 = final_02; } public String toString(){ return "final_01 = " + final_01 +" final_02 = " + final_02 + " final_03 = " + final_03 + " final_04 = " + final_04.getName(); } public static void main(String[] args) { System.out.println("------------第一次創(chuàng)建對(duì)象------------"); FinalTest final1 = new FinalTest("cm"); System.out.println(final1); System.out.println("------------第二次創(chuàng)建對(duì)象------------"); FinalTest final2 = new FinalTest("zj"); System.out.println(final2); System.out.println("------------修改引用對(duì)象--------------"); final2.final_04.setName("chenssy"); System.out.println(final2); } } ------------------ Output: ------------第一次創(chuàng)建對(duì)象------------ final_01 = chenssy final_02 = cm final_03 = 34 final_04 = chen_ssy ------------第二次創(chuàng)建對(duì)象------------ final_01 = chenssy final_02 = zj final_03 = 46 final_04 = chen_ssy ------------修改引用對(duì)象-------------- final_01 = chenssy final_02 = zj final_03 = 46 final_04 = chenssy