zoukankan      html  css  js  c++  java
  • Java返回当前对象的好处

    自己使用了一个第三方框架,发现非常的灵活,于是去研究了下,才知道是返回当前对象,才可以做到,例如以下案例:

        // 可以不断的点出很多函数
            Glide.with(PhotoPagerSlitherActivity.this)
            .load(output.toByteArray())
            .centerCrop()
            .crossFade()
            .placeholder(R.drawable.app_pic_file_bg)
            .into(zoomImageView);
    
        // 可以点出很多方法,也可以点吃一个方法,非常灵活
         Glide.with(PhotoPagerSlitherActivity.this)
            .load(output.toByteArray())
            //.centerCrop()
            //.crossFade()
            //.placeholder(R.drawable.app_pic_file_bg)
            .into(zoomImageView);

    于是去研究了下,之所以可以无限制的点出很多方法,是因为它返回当前对象自己:

    以下举例实现:

    /**
     * 定义一个工具类接口
     * @author Liudeli
     */
    public interface IUtil {
    
        /**
         * 此函数目的就是打印一句话
         */
        public void getPrintln1();
    
        /**
         * 此函数目的就是打印一句话
         * 返回对象为接口的子类自己
         */
        public Util getPrintln2();
    }
    
    /**
     * 此类用于某个方法的打印
     * @author Liudeli
     */
    public class Util implements IUtil{
    
        /**
         * 此方法非常简单,就是打印一句话
         */
        public void getPrintln1() {
            System.out.println("getPrintln2...");
        }
    
        /**
         * 此方法非常简单,就是打印一句话
         * @return 返回对象本身:当前对象
         */
        public Util getPrintln2() {
            System.out.println("getPrintln2...");
            // this 放回当前对象
            return this;
        }
    
    }
    
    /**
     * @author Liudeli
     */
    // 测试程序
    public class Main {
    
        public static void main(String[] args) {
    
            // IUtil是父类,他去new自己的子类,当然没任何问题
            IUtil util = new Util();
    
            util.getPrintln1();
    
            util.getPrintln2();
    
        }
    
    }

    运行结果:
    这里写图片描述


    放回当前对象的好处:

        // 可以不断的点出很多函数
            Glide.with(PhotoPagerSlitherActivity.this)
            .load(output.toByteArray())
            .centerCrop()
            .crossFade()
            .placeholder(R.drawable.app_pic_file_bg)
            .into(zoomImageView);

    /**
     * @author Liudeli
     */
    
    // 测试程序
    public class Main2 {
    
        public static void main(String[] args) {
    
            // IUtil是父类,他去new自己的子类,当然没任何问题
            IUtil util = new Util();
    
            util.getPrintln1();
    
            util.getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
            .getPrintln2()
    
            // 省略....
    
            ;
    
        }
    
    }

    运行结果:
    这里写图片描述

    谢谢大家观看,还有很多很多不完善的点!!!


    谢谢大家的观看,更多精彩技术博客,会不断的更新,请大家访问,
    刘德利CSDN博客, http://blog.csdn.net/u011967006

  • 相关阅读:
    SharePoint Framework (SPFx) 开发入门教程
    SharePoint 2013 Designer 入门教程
    SharePoint 2013 开发教程
    SharePoint 2013 入门教程
    SharePoint Online 部署SPFx Web部件
    SharePoint Online SPFx Web部件绑定数据
    SharePoint Online 创建SPFx客户端Web部件
    SharePoint Online 配置框架(SPFx)开发环境
    SharePoint Online 创建应用程序目录
    SharePoint Online 启用 IRM
  • 原文地址:https://www.cnblogs.com/android-deli/p/10322216.html
Copyright © 2011-2022 走看看