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

    // 可以不断的点出很多函数
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

Java返回当前对象的好处的更多相关文章

  1. Java学习——面对对象的思想入门

          本文是看过<head first Java>之后的一点感悟,写点东西帮忙以后回忆,Java目前在我的工作中用到还不多,而我又对面对对象的编程非常的感兴趣.曾经在MFC平台上写过 ...

  2. 【JAVA】 02-Java对象细节

    链接: 笔记目录:毕向东Java基础视频教程-笔记 GitHub库:JavaBXD33 目录: <> <> 内容待整理: 面向过程: 代表语言-c:即通过函数体现,并不断调用函 ...

  3. 类型转换及返回json对象的问题

    @ResponseBody @RequestMapping(value="/user/getUserId.do")//method=RequestMethod.POST publi ...

  4. Java提高篇——对象克隆(复制)

    假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short, ...

  5. java 创建string对象机制 字符串缓冲池 字符串拼接机制

    对于创建String对象的机制,在这一过程中涉及的东西还是值得探究一番的. 首先看通过new String对象和直接赋值的方式有什么区别,看如下代码: public static void main( ...

  6. Java的常用对象①②

    Java的常用对象① Java的常用对象有很多,这里只对lang包中常用的Object,Date(Calendar,DateFormat,Math),System,Runtime进行介绍.㈠Objec ...

  7. 奇妙的动态代理:EF中返回的对象为什么序列化失败

    今天有如鹏的学生遇到一个问题:把一个对象保存到Session中(进程外Session)后,Web服务器重启,当从Session读取这个对象的时候报错,提示是一个“T_Users”后面跟着一大串数字的类 ...

  8. java中直接打印对象

    java中直接打印对象,会调用对象.toString()方法.如果没有重写toString()方法会输出"类名+@+hasCode"值,hasCode是一个十六进制数 //没有重写 ...

  9. 对Java“一切皆对象”的理念的理解

    在从HelloWorld到面向对象中,我们将int, float, double, boolean等称为基本类型(primitive type),也就是特殊的类.我们可以将一个整数理解称为一个int类 ...

随机推荐

  1. cmd 字符串截取

    @echo off set "url=www.mzwu.com" echo 1.字符串截取 echo %url:~4,4% echo %url:~4,-4% echo %url:~ ...

  2. 慕课网access_token的获取(下)

    接口调用返回的结果是两个字段:access_token和expires_in,所以需要创建一个实体类封装这两个字段 运行测试类WeixinTest.java控制台打印出错误信息 重置开发者密钥试试看 ...

  3. Eclipse中的SVN操作

    --------------------siwuxie095                                     Eclipse 中的 SVN 操作         (一)发布项目 ...

  4. 基于AspectJ的注解方式进行AOP开发

    -------------------siwuxie095                                     基于 AspectJ 的注解方式进行 AOP 开发         ...

  5. phpStudy4——前端页面使用Ajax请求并解析php返回的json数据

    项目需求: 在html页面显示所有用户列表信息. 需求分析: 1. html页面使用ajax向后端php请求用户数据 2. php脚本查询数据库,并将查询后的结果以json格式返回前端html页面 3 ...

  6. Web Components 规范学习

    最新的规范在这里:http://w3c.github.io/webcomponents/explainer/ 依据规范,有以下四个组成部分: Templates Custom Elements Sha ...

  7. win7系统administrator用户提示没有管理员权限,造装驱动安装错误,软件无法使用

    警告1909.无法创建快捷方式 最近使用windows 7 32位安装软件,好多都失败.出现以上类似错误. 解决方法:在系统盘(C:)右键属性“安全”选项卡--“编辑”,添加“Everyone”设置为 ...

  8. PHP+Gtk实例(求24点)

    作者: Laruence(   ) 本文地址: http://www.laruence.com/2009/05/26/871.html 转载请注明出处 最近要安排我为BIT提供的<PHP高级应用 ...

  9. Vue.js2 + Laravel5 采用 CORS 方式解决 AJAX 跨域的问题

    一.建立中间件 php artisan make:middleware CorsAjax 二.编写中间件 CorsAjax <?phpnamespace App\Http\Middleware; ...

  10. Jmeter运行过程中如何让Fiddler同时可以抓获到服务器的应答报文

    在默认情况下,Jmeter运行过程中,Fiddler是抓不到对应的应答报文的. 但是,在某些时候,我们希望分析Jmeter执行失败的原因,想了解Jmeter获取到的应答报文是否有问题,就需要同服务器返 ...