在java编程思想里看到一段代码,不是很理解
问题1:为什么increment()用Leaf来定义,用类名定义的方法有什么意义?
问题2:increament()中的return this返回的this指什么?
代码如下:
public class Leaf {
int i = 0;
Leaf increment() {
i++;
return this;
}
void print() {
System.out.println("i = " + i);
}
public static void main(String[] args) {
Leaf x = new Leaf();
x.increment().increment().increment().print();
}
}javathis
解决方案 »
- 关于postgreSQL的编码问题,求救啊高人~~
- struts 2 拦截器的错误信息无法显示
- myeclipse自己中每次点选项就能将struts的jar包加到项目中,我想知道这个包原来是存在哪儿的?hibernate和spring的jar包呢?
- 求下载《Expert One-on-One J2EE Development without EJB》中文电子版
- struts2验证显示
- org.springframework.beans.factory.BeanCreationException
- 用MyEclipse,hebernate中如何修改字段名和字段类型
- Hibernate session.save()一个问题 向大牛求救
- EJB开发中的可序列化问题!100分!!
- 有什么技术或组件能实现:对复杂查询结果更改后将结果自动保存回所有相关的表(包括更新、添加、删除)?
- 大家所在公司开发有用JSF的吗?
- jquery ajax得到的数据,EL表达式怎么可以获取到?
x.increment();
x.increment();
x.increment();
x.print();
public Leaf increment() {
你就清楚它是什么意思了。
原来的写法等同于
default Leaf increment() {
只不过不同的修饰符。返回this,表示返回本类的对象。
i++;
return this;
} Leaf 表示该方法返回的类型必须是是Leaf 或者它的子类,
return this 表示当前类的引用。
一个方法定义包阔那基本分?
还有this到底在java中怎么用的。这些都是基本知识啊。找本入门的书看,开始就看think in java 可能有点吃不消,最好是大学里的教程那种入门的书。看完了再看think in java
什么情况下会用到链式编程?
Leaf l = new Leaf();
l.increament()返回的是成员变量i加1之后的l;
2、this返回当前类的实例,就是当前所调用increment方法的Leaf类的实例
楼上大神说的狠清楚了
leaf 就是increment()的返回类型increament()中的return this返回的this指什么?
返回自身的对象