Java的OO与多态
2024-08-25 18:54:12
this的用法
class Banana { void f(int i) {} }
Banana a = new Banana(), b = new Banana();
a.f(1);
b.f(2);
若只有一个名叫f()的方法,它怎样才能知道自己是为a还是为b调用的呢?
为了能用简便的、面向对象的语法来书写代码——亦即“将消息发给对象”,编译器为我们完成了一些幕后工作。其中的秘密就是第一个自变量传递给方法f(),而且那个自变量是准备操作的那个对象的句柄。所以前述的两个方法调用就变成了下面这样的形式:
Banana.f(a,1);
Banana.f(b,2);
this关键字只能用于那些特殊的类——需明确使用当前对象的句柄。例如,假若您希望将句柄返回给当前对象,那么它经常在return语句中使用。
public class Leaf {
private int i = 0;
Leaf increment() {
i++;
return this;
}
}
最新文章
- DOM
- Struct2 csv文件上传读取中文内容乱码
- Ubantu Linux 环境下编译c++程序
- scikit-learn使用笔记与sign prediction简单小结
- logstash安装与基础用法
- 【VerySky原创】如何查找SNRO编号范围的使用情况;
- win7下安装配置tomcat,java运行环境
- js中this的指向
- Berserk Rook
- 基于NIO的Netty网络框架
- hdu4578 线段树 三次方,二次方,一次方的值
- HTML配色工具!在线配色工具
- javascript设计模式——职责链模式
- <;script>;标签中的 defer 与 async区别
- SQL Server 索引维护(1)——系统常见的索引问题
- git工具——对比文件的不同
- C#订阅与发布标准实现
- Luogu3514 POI2011 Lollipop 递推、构造
- iOS开发微信支付
- SpringMVC随笔之——@responsebody【引用snowolf博文】
热门文章
- JSON——JavaScript 中的使用
- 无线网络RSSI、SSID、BSSID
- Dapper用法小记
- MongoDB安装、CURD增改查删操作、应用场景
- JAVA方法传递参数:传值?传引用?
- Xilinx_7_Series_GTX简介
- java - day12 - ShapeTest
- 青蛙的约会 扩展欧几里得 方程ax+by=c的整数解 一个跑道长为周长为L米,两只青蛙初始位置为x,y;(x!=y,同时逆时针运动,每一次运动分别为m,n米;问第几次运动后相遇,即在同一位置。
- 谁是云的王者?OpenStack与VMware优劣对比
- 【Ubuntu安装,ATX基于uiautomator2】之安装步骤