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