項(xiàng)目上有個(gè)需求,根據(jù)阿里的日志接口 自定義實(shí)現(xiàn)日志通過(guò)SPI-ServiceLoader方式實(shí)現(xiàn)在resources 中建立META-INF/s...
如果一個(gè)程序只包含固定數(shù)量的且生命周期都是已知的對(duì)象,那么這是一個(gè)非常簡(jiǎn)單的程序。 11.1泛型和類(lèi)型安全容器 使用泛型可以在編譯期防止錯(cuò)誤類(lèi)型...
一個(gè)類(lèi)的定義放在另一個(gè)定義內(nèi)部,這就是內(nèi)部類(lèi)。 10.1 創(chuàng)建內(nèi)部類(lèi) 10.2 鏈接到外部類(lèi) 內(nèi)部類(lèi)是一種名字隱藏和組織代碼的模式,當(dāng)生成內(nèi)部類(lèi)...
第1章Spring的設(shè)計(jì)理念和整體架構(gòu) 第一部分Spring核心實(shí)現(xiàn)篇 第2章Spring Framework的核心:IoC容器的實(shí)現(xiàn) 第3章S...
接口和內(nèi)部類(lèi)為我們提供了一種將接口與現(xiàn)實(shí)分離的更加結(jié)構(gòu)化的方法。 9.1抽象類(lèi)和抽象方法 創(chuàng)建抽象類(lèi)是希望通過(guò)接口操縱一系列類(lèi),Java提供一個(gè)...
在面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言中,多態(tài)是繼數(shù)據(jù)抽象和繼承之后的第三種基本特征。 多態(tài)通過(guò)分離做什么和做怎么做,從另一個(gè)將接口和實(shí)現(xiàn)分離。 8.1 再論...
復(fù)用代碼是Java眾多引人注目的功能之一。但要想成為極具革命性的語(yǔ)言,僅僅能夠復(fù)制代碼并對(duì)之加以改變是不夠的,它還必須能夠做更多的事情。 ---...
6.1 包:庫(kù)單元 當(dāng)編寫(xiě)一個(gè)Java源碼文件時(shí),此文件被稱(chēng)為編譯單元。每個(gè)編譯單元都必須有一個(gè)后綴名.java,在編譯單元內(nèi)可以有一個(gè)publ...
隨著計(jì)算機(jī)革命的發(fā)展,“不安全”的編程方式逐漸成為·編程代價(jià)高昂的主因之一。 5.1 用構(gòu)造器確保初始化 new Rock(); 會(huì)為對(duì)象分配...