匿名內(nèi)部類(lèi)final 為什么內(nèi)部類(lèi)訪問(wèn)的外部變量需要使用final修飾?
為什么內(nèi)部類(lèi)訪問(wèn)的外部變量需要使用final修飾?方法中的局部變量將在方法結(jié)束后釋放。Final確保變量始終指向?qū)ο?。首先,?nèi)部階級(jí)和外部階級(jí)處于同一水平。因?yàn)閮?nèi)部類(lèi)是在方法中定義的,所以在方法執(zhí)行后
為什么內(nèi)部類(lèi)訪問(wèn)的外部變量需要使用final修飾?
方法中的局部變量將在方法結(jié)束后釋放。Final確保變量始終指向?qū)ο蟆J紫?,?nèi)部階級(jí)和外部階級(jí)處于同一水平。因?yàn)閮?nèi)部類(lèi)是在方法中定義的,所以在方法執(zhí)行后不會(huì)銷(xiāo)毀跟隨者。問(wèn)題是,如果外部類(lèi)的方法中的變量沒(méi)有定義final,那么在執(zhí)行外部類(lèi)的方法時(shí),局部變量將是GC。但是,在執(zhí)行內(nèi)部類(lèi)的方法之前,找不到它引用的外部變量。