廣州java培訓(xùn)的話需要多長(zhǎng)的時(shí)間和多少錢
發(fā)布時(shí)間:2019-09-09 廣州兄弟連IT教育 訪問 : 361廣州java培訓(xùn)的話需要多長(zhǎng)的時(shí)間和多少錢?作為老牌編程語言,許多大企業(yè)的開發(fā)部門都離不開Java。Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念。
泛型與類型擦除
一個(gè)編譯器處理泛型有兩種方式:Code specialization和Code sharing,而Java使用的是Code sharing的機(jī)制。在Java虛擬機(jī)中沒有泛型,只有普通類和普通方法,所有泛型類的類型參數(shù)在編譯時(shí)都會(huì)被擦除,泛型類并沒有自己獨(dú)有的Class類對(duì)象,需要在編譯階段通過類型擦除的方式進(jìn)行解語法糖。
類型擦除的主要過程分兩步:1)將所有的泛型參數(shù)用其最左邊界(最頂級(jí)的父類型)類型替換;2)移除所有的類型參數(shù)。
自動(dòng)裝箱與拆箱、變長(zhǎng)參數(shù)
自動(dòng)裝箱就是Java自動(dòng)將原始類型值轉(zhuǎn)換成對(duì)應(yīng)的對(duì)象,比如將int的變量轉(zhuǎn)換成Integer對(duì)象,這個(gè)過程叫做裝箱,反之將Integer對(duì)象轉(zhuǎn)換成int類型值,這個(gè)過程叫做拆箱。一般來說,裝箱過程是通過調(diào)用包裝器的valueOf方法實(shí)現(xiàn)的,而拆箱過程是通過調(diào)用包裝器的xxxValue方法實(shí)現(xiàn)的。
變長(zhǎng)參數(shù)特性是在JDK1.5中引入的,使用變長(zhǎng)參數(shù)有兩個(gè)條件,一是變長(zhǎng)的那一部分參數(shù)具有相同的類型,二是變長(zhǎng)參數(shù)必須位于方法參數(shù)列表的最后面。變長(zhǎng)參數(shù)同樣是Java中的語法糖,其內(nèi)部實(shí)現(xiàn)是Java數(shù)組。
條件編譯
Java語法的條件編譯,是通過判斷條件為常量的if語句實(shí)現(xiàn)的。根據(jù)if判斷條件的真假,編譯器直接把分支為false的代碼塊消除。通過該方式實(shí)現(xiàn)的條件編譯,必須在方法體內(nèi)實(shí)現(xiàn),而無法在正整個(gè)Java類的結(jié)構(gòu)或者類的屬性上進(jìn)行條件編譯。
內(nèi)部類又稱為嵌套類,可以把內(nèi)部類理解為外部類的一個(gè)普通成員。內(nèi)部類之所以也是語法糖,是因?yàn)樗鼉H僅是一個(gè)編譯時(shí)的概念。outer.java里面定義了一個(gè)內(nèi)部類inner,一旦編譯成功,就會(huì)生成兩個(gè)完全不同的.class文件了,分別是outer.class和outer$inner.class。所以內(nèi)部類的名字完全可以和它的外部類名字相同。
以上就是本次廣州Java培訓(xùn)教程的主要內(nèi)容,除此之外,常見的Java語法糖還包括增強(qiáng)for循環(huán)、斷言、Lambda表達(dá)式、數(shù)值字面量等。,小編會(huì)定期發(fā)布學(xué)員所關(guān)注的互聯(lián)網(wǎng)技術(shù)熱點(diǎn)和行業(yè)趨勢(shì),助你更快更好的入行IT開發(fā)。