Java_this
来源:互联网 发布:域名备案账号忘记 编辑:程序博客网 时间:2024/05/22 08:25
this
要点:
this关键字只能在方法中使用,它能为调用该方法的对象提供相应的句柄,使得同一个类产生的不同对象实例在调用同一方法的时候,系统能判断出是哪一个对象在进行调用.
比如:
MyObject a=new MyObject();
MyObject b=new MyObject();
a.f();// (3)
b.f();// (4)
编译器在编译的时候,实际上是将(3),(4)句解释为
MyObject.f(a);
MyObject.f(b);
的,这样就将调用了该方法的对象的信息传到了方法中,也就是传给了this,就可以通过this表示调用该方法的对象实例.
用this的概念还可以解释为什么在静态方法中不能调用非静态方法和元素,这是因为静态方法中没有this,也就是说我们不能获得调用该方法的对象的句柄.既然找不到这个对象实例,我们又怎么能够在其中调用对象实例的方法和元素呢?
那为什么静态方法没有this呢?用静态方法的概念可以来理解这个问题.静态方法是类方法,是所有对象实例公用的方法.它不属于某一个具体的对象实例,因此也无法用this来体现这个实例.这和非静态方法是不一样的.打个比方,在一个局域网内的几个用户每个人都有一台客户机,但都访问一台公共的服务器.对于每台客户机来说,它的this就是使用它的用户.而对于服务器来说,它没有this,因为它是大家公用的,不针对某一个具体的客户.
0 0
- Java_this
- java_this关键字
- java_this使用
- Java_this的使用方法
- java_this/super构造器
- 网站图片视频等防盗链
- Java_对象初始化
- 有时UIGestureRecognizer手势识别…
- iOS避免内存警告的一些建议
- ios7 隐藏状态栏
- Java_this
- UINavigationController
- SharePoint 之 rest api 之得到根据当前表名得到表的GUID
- UIView 的旋转和缩放
- CSS 特殊样式
- 正则表达式总结
- UITableViewCell的选中时的颜色设…
- Java_System.gc()与Object.finalize()的区别
- iOS7 Transition Guide