A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冷月霜飞 中级黑马   /  2015-5-17 21:43  /  366 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求教师兄,this关键字的用法我知道两种,一是指调用this所在函数的对象,另一个是当局部变量与成员变量重名时,用this标识成员变量;除了这两种,this好像还有其他用法,是什么?

7 个回复

倒序浏览
本帖最后由 幸福与我零距离 于 2015-5-17 21:51 编辑

1、this 语句只能定义在构造函数的第一行
2、在同意个类中调用,用this
欢迎补充
回复 使用道具 举报
通过this调用本类构造函数。this还有个经典的比较两个对象内容是否相等的用法,其原理也是利用this代表所在函数所属对象的引用这一特点来完成的。这个用法很常用,要记住。
回复 使用道具 举报
受教了!!!
回复 使用道具 举报
谷歌 发表于 2015-5-17 23:19
通过this调用本类构造函数。this还有个经典的比较两个对象内容是否相等的用法,其原理也是利用this代表所在 ...

师兄,我对这个“this还有个经典的比较两个对象内容是否相等的用法”比较感兴趣,用this比较两个对象内容是否相等,这个怎么用?能否详细介绍?或有例子的话贴出来一个,谢谢啊!
回复 使用道具 举报
this是本类中的引用
回复 使用道具 举报
谢谢楼上解决
回复 使用道具 举报
谷歌 中级黑马 2015-5-18 12:17:31
8#
冷月霜飞 发表于 2015-5-18 09:35
师兄,我对这个“this还有个经典的比较两个对象内容是否相等的用法”比较感兴趣,用this比较两个对象内容 ...

你看一下老毕的视频教程,里面有讲的
  1. public class Demo17 {
  2.         public static void main(String[] args) {
  3.                 Person1 p1=new Person1("A",30);
  4.                 Person1 p2=new Person1("B",30);
  5.                 System.out.println(p1.compare(p2));
  6.         }
  7. }
  8. class Person1{
  9.         String name;
  10.         int age;
  11.         Person1(String name){
  12.                 this.name=name;
  13.         }
  14.         Person1(String name,int age){
  15.                 this(name);
  16.                 this.age=age;
  17.         }
  18.         public boolean compare(Person1 p){
  19.                 return this.age==p.age;
  20.         }
  21. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马