《JAVA编程思想》学习备忘(第155页:Initialization & Cleanup)--2
来源:互联网 发布:魔兽世界mac怎么玩 编辑:程序博客网 时间:2024/05/22 15:24
The this keyword
The this keyword-which can be used only inside a non-static method-produces the reference to the object that the method has been called for.
但调用同处一类中的方法时不需要this 。
The this keyword is used only for those special cases in which you need to explicitly use the reference to the current object.
举例:
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();
}
}
输出结果:i = 3;
The this keyword is also useful for passing the current object to another method:
class Person{
public void eat(Apple apple){
Apple peeled = apple.getPeeled();
System.out.println("Yummy");
}
}
class Peeler{
static Apple peel(Apple apple){
return apple;
}
}
class Apple{
Apple getPeeled(){
return Peeler.peel(this);
}
}
public class PassingThis{
public static void main(String[] args){
new Person().eat(new Apple());
}
}
输出:Yummy
main方法中首先“新摘一个苹果”:new Apple(),然后“将苹果拿去削皮”:Peeler.peel(this),接下来将“削了皮的苹果”送进了“人嘴里”。
(待续)
- 《JAVA编程思想》学习备忘(第155页:Initialization & Cleanup)--2
- 《JAVA编程思想》学习备忘(第155页:Initialization & Cleanup)--1
- 《JAVA编程思想》学习备忘(第155页:Initialization & Cleanup)-3
- 《JAVA编程思想》学习备忘(第155页:Initialization & Cleanup)-4
- 《JAVA编程思想》学习备忘(第155页:Initialization & Cleanup)-5
- 《JAVA编程思想》学习备忘(第155页:Initialization & Cleanup)-6
- 《JAVA编程思想》学习备忘(第155页:Initialization & Cleanup)-7
- 《JAVA编程思想》学习备忘(第277页Polymorphism-2)
- 《JAVA编程思想》学习备忘(第61页:Everything Is an Object--2)
- 《JAVA编程思想》学习备忘(第93页:Operators--2)
- 《JAVA编程思想》学习备忘(第209页:Access Control)-2
- 《JAVA编程思想》学习备忘(第237页:Reusing Classes)-2
- 《JAVA编程思想》学习备忘(第277页Polymorphism-1)
- 《JAVA编程思想》学习备忘(第277页Polymorphism-3)
- 《JAVA编程思想》学习备忘(第311页Interfaces-1)
- C++编程思想读后感(六):Initialization and Cleanup
- 《JAVA编程思想》学习备忘(第61页:Everything Is an Object--1)
- 《JAVA编程思想》学习备忘(第93页:Operators--1)
- LiMo手机平台的6家分工
- 一个C++类最少定义
- 如何快速判定一个数是否2的幂数
- makefile(.mak)的使用
- Magic! 解决升级gem后,执行gem_server命令报错
- 《JAVA编程思想》学习备忘(第155页:Initialization & Cleanup)--2
- 讲师智慧
- GDI+ 在Delphi程序的应用 -- 多帧(页)图像的分解与合成
- 构建文件格式转换服务器
- 发现许多爱墙、许愿网站的Bug
- Tip - Web Design Templates & Mockups
- VC调试入门
- 外语自主学习
- 图解:RJ45水晶头网线的做法 十分经典