山东11选5
勤學教育網合作機構>沈陽培訓學校>

沈陽兄弟連教育

歡迎您!

分享

全國統一學習專線 8:30-21:00
沈陽兄弟連教育
實用先進的課程體系
線上線下相結合的科學教學模式
嚴苛的教學管理體系和先進的課程研發理念
沈陽兄弟連教育> 沈陽教育培訓>

沈陽java哪里培訓好

  • 課程介紹

  • 學習資料

  • 2019-08-21
沈陽兄弟連教育

Java 在電子商務領域以及網站開發領域占據了一定的席位。開發人員可以運用許多不同的框架來創建web項目,SpringMVC,Struts2.0以及frameworks。即使是簡單的 servlet,jsp和以struts為基礎的網站在政府項目中也經常被用到。例如醫療救護、保險、教育、國防以及其他的不同部門網站都是以Java為基礎來開發的。

沈陽兄弟連課程體系




Java語言特點
  • 簡單性
    Java看起來設計得很像C++,但是為了使語言小和容易熟悉,設計者們把C++語言中許多可用的特征去掉了,這些特征是一般程序員很少使用的。
  • 分布性
    Java設計成支持在網絡上應用,它是分布式語言。Java既支持各種層次的網絡連接,又以Socket類支持可靠的流(stream)網絡連接,所以用戶可以產生分布式的客戶機和服務器。
  • 穩健性
    Java原來是用作編寫消費類家用電子產品軟件的語言,所以它是被設計成寫高可靠和穩健軟件的。Java消除了某些編程錯誤,使得用它寫可靠軟件相當容易。
  • 可移植性
    Java使得語言聲明不依賴于實現的方面。例如,Java顯式說明每個基本數據類型的大小和它的運算行為(這些數據類型由Java語法描述)。Java環境本身對新的硬件平臺和操作系統是可移植的。

大咖教學天團,課程體系引領IT革新
他們曾經敲過的代碼現如今已是業界標桿,是中國互聯網的參與者與見證者!

  • 師資介紹 梁建全 梁建全 icon

    畢業于北京大學,14年以上JAVA企業項目架構和開發經驗。曾在二炮科技處、UPS科技、日本UCI科技等多家知名企業擔任過項目經理和研發總監。

  • 兄弟連教育 張立猛 張立猛 icon

    北航軟件工程碩士,18年軟件架構開發經驗,曾就職于東軟、DNS等知名企業,新東方、達內前教學總監,精通JAVAEE JAVA框架 oracle數據庫,大數據大牛,知名企業培訓大牛。


沈陽兄弟連除了強大的線下集中培訓外,為在職和自學能力較強人士量身打造的IT云課堂,將線上課程與線下新的面授課同步,并通過一對一貼身服務等措施,實現了優質的教學效果。沈陽兄弟連還與國內200多所高等院校展開深度合作,讓在校大學生參與真實的企業級項目研發,獨立設計開發商業項目,享受到和沈陽兄弟連學員一樣的企業級項目實戰訓練,廣受各界好評。


體驗才是王道
高起點才更牛叉
締造Java課程行業新標準
 
 

詳情請進入 沈陽兄弟連教育 已關注:973 咨詢電話:

之前在寫公司項目的底層框架的時候用到一些泛型,實踐中涉及到一些沒關注到的細節,為此專門去Oracle官網把泛型的文檔學習了一遍。

Java中的泛型跟C++里面的Template(模板)是同一個類型的東西,都是為了在其他地方調用的時候可以傳入各種參數類型。

在實踐中,與使用泛型有相似效果的是函數重載,即根據傳入參數類型的不同,選擇調用不同的函數。泛型和函數重載各有利弊,需要根據使用情景來選擇。如果一段代碼對于不同類型的參數,可以不做類型區分地使用,比如List的add方法,這時就用泛型。而如果一段代碼對于傳入的參數,應該根據不同的數據類型,執行不同的語句,這時就應該使用重載。為什么?因為這時如果使用泛型,就會出現大量的instanceof判斷,判斷之后還有各種影響代碼質量的泛型與實際類型之間的類型強轉,而如果返回值也是泛型,那就更麻煩了。典型的就是之前對SharedPreferences進行封裝,對于不同類型的參數執行統一的get/put方法,但是如果傳入String類型,底層就要執行getString/putString方法,如果傳入int,就要執行getInt/putInt方法,這樣就必須使用如下的函數重載形式:

另外像JDK源碼里面,StringBuilder的append方法,也是根據參數類型寫了一大堆看似啰嗦的重載函數,為什么?因為方法體不一樣啊。

回歸正題,如果針對不同的參數類型,可以用同一段代碼,還是推薦用泛型的,畢竟可以把幾段代碼合并成一段代碼。

請注意,這里的泛型"T",代表的只能是Object類型,不能是int,boolean,char這些基本數據類型,比如像下面這樣寫就是錯的:

也就是說,其實T是繼承自Object的。

那么,為什么定義的時候泛型參數必須是Object,而實際傳值的時候可以是100,true這些呢?因為JDK在編譯時做了一個自動裝箱的處理,把int類型包裝成了Integer類型,boolean類型則包裝成Boolean類型。可以參考我的另一篇blog: Java暗箱操作之自動裝箱與拆箱

代碼里面每一個用到泛型參數 T, K, E,...都必須遵循先聲明再使用的原則,即如果你提到了這些泛型名稱,就必須在之前的某個地方被聲明過,否則會報錯。

泛型的聲明位置只能是兩個地方,一是類名處,二是方法處,別的地方都不能聲明。第一種方式,就是上面的 public class MyClass {..}這種,在類名之后加,這樣在類里面所有地方都能用"T"這個泛型參數。第二種方式在方法處聲明可能不太常見,之前我也不太熟悉,但項目里確實用到了,只好研究一下,聲明格式類似于這樣:

這里的T就只能作用于方法體了,而且會覆蓋類上聲明的泛型,例如以下代碼會正常運行:

調用時,類上的泛型是String,方法上傳入的是Integer,那就以方法上的為準咯~

特別注意,方法上的泛型參數必須聲明在返回值之前,public/private之后,是有固定位置的。

可以對調用時傳入的泛型加限制條件,限制T必須是某個類(接口)的子類

這里,T就只能是Number或者Number的子類Integer,Float,Long這些,傳入String就是錯誤的。

T也可以繼承自多個類,注意這里的類是泛指,包括接口在內,即寫成

其中A可以是類或接口,B、C只能是接口,即多繼承的話至多只能有一個是類,且必須把類寫在第一個。

傳入的泛型參數還可以是wildcard(通配符)

"?"是在調用時傳入的東西,取代String, Integer這些實際的類型。

  • 校區分布
  • 學校相冊
  • 推薦課程
  • 相關學校
  • 相關文章

溫馨提示:提交留言后老師會第一時間與您聯系!熱線電話:

手機訪問

#tel_400#
山东11选5 贵州11选5前3走势图 1305彩票安卓 联合出品人怎么赚钱 浙江快乐彩票12选五 甘肃11选5走势图一定牛 2017年焰舞历史记录 p3开机号近10期号码查 乐购彩票首页 孵化毛蛋能赚钱吗 广西快乐十分每天开奖结果