国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java鏈式編程接口

2019-11-14 23:50:29
字體:
來源:轉載
供稿:網友
java鏈式編程接口

在android開發中顯示一個AlertDialog時,常采用下列的寫法:

new AlertDialog.Builder(getapplicationContext())        .setTitle("Dialog")        .setMessage("Link 

可以注意到setTitle/setMessage/setPositiveButton等接口都是直接緊接著執行,用點號隔開,這樣的方法叫做鏈式編程。

觀看setTitle,setMessage等源碼會發現,每個方法(接口)的返回值都是AlertDialog.Builder類型,所以秘訣在于方法的返回值類型都必須與第一個點號前面的類型保持一致:

/**         * Set the title displayed in the {@link Dialog}.         *         * @return This Builder object to allow for chaining of calls to set methods         */        public Builder setTitle(CharSequence title) {            P.mTitle = title;            return this;        }/**         * Set the message to display.          *         * @return This Builder object to allow for chaining of calls to set methods         */        public Builder setMessage(CharSequence message) {            P.mMessage = message;            return this;        }

這樣寫法的好處在于一方面可以盡可能少去進行類型轉換的判定,而且大大增強了代碼的閱讀性,同時也減少了代碼量。

下面通過一個小例子來演示如何制作這樣的鏈式編程接口

public class LinkProgram {    private String mText;    private int mId;    private boolean isAdd;        public static void main(String[] args) {        LinkProgram link = new LinkProgram();                //鏈式接口調用時,返回值類型和link該對象類型保持一致        link.setAdd(true)            .setId(5)            .setText("hello world");                System.out.println(link);    }        @Override    public String toString() {        return "Text:" + mText + ", Id:" + mId + ", add:" + isAdd;    }    //返回值類型為LinkProgram    public LinkProgram setText(String mText) {        this.mText = mText;        return this;    }    //返回值類型為LinkProgram    public LinkProgram setId(int mId) {        this.mId = mId;        return this;    }    //返回值類型為LinkProgram    public LinkProgram setAdd(boolean isAdd) {        this.isAdd = isAdd;        return this;    }    }

運行結果:Text:hello world, Id:5, add:true


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汝州市| 榆中县| 葵青区| 德清县| 钟祥市| 冷水江市| 平度市| 吉木乃县| 淮阳县| 轮台县| 白朗县| 沾益县| 玉溪市| 大安市| 大竹县| 涞源县| 垣曲县| 青河县| 连州市| 亳州市| 岐山县| 苗栗县| 樟树市| 镇江市| 玛纳斯县| 潞西市| 望谟县| 和硕县| 同心县| 浦东新区| 南开区| 比如县| 灌南县| 黄骅市| 中西区| 新余市| 武川县| 宜君县| 资源县| 且末县| 吉林市|