this代表当前类的引用对象:哪个对象调用方法,该方法内部的this就代表那个对象
this关键字主要有两三个应用:

(1)this调用本类中的属性,也就是类中的成员变量;
class People
{
private int age;
private String name;
People(String name,int age)
{
/*
错误写法,实际就是x=x;改变的是局部变量的值。因为赋值是会先寻找局部变量,若局部变量没有,才会找成员变量
name=name;
age=age;
*/
//this是区分局部变量和成员变量同名问题,this代表所在函数所属对象的引用。简单理解: 哪个对象调用this所在的函数,this就代表这个对象
this.name=name;
this.age=age;
} public void speak()
{
System.out.println("myname is "+name+", age is "+age);
} } class PeopleDemo
{
public static void main(String[] args)
{
People p2=new People("zhang san",18);
p2.speak(); }
}
(2)定义类中的函数时,函数内部要用到调用此函数的对象时,可以用this来表示这个对象。但凡定义本类内部功能时,使用了本类对象,都能用this表示
//定义一个比较年龄是否相同的功能
public boolean compare(Person p1)
{
//compare功能用到了本类的对象,需要本类对象和其他对象进行比较
return this.age==p1.age;
}
(3)this()用在本类中构造函数间相互调用,定义时要放在构造方法的第一行,因为初始化要先执行。
class People
{
private int age;
private String name; People()//构造函数1
{
this("lisi",10);//调用了构造函数2
} People(String name,int age)//构造函数2
{ this.name=name;
this.age=age;
} public void speak()
{
System.out.println("myname is "+name+", age is "+age);
}
} class PeopleDemo
{
public static void main(String[] args)
{
People p2=new People();
p2.speak(); }
}

  

【java】this用法的更多相关文章

  1. 【转】java list用法示例详解

    转自:http://www.jb51.net/article/45660.htm java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对java list用法做了详解. Lis ...

  2. Java List 用法代码分析 非常详细

    Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解. List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3 ...

  3. Java split用法

    Java split用法 java.lang.string.split split 方法  将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separat ...

  4. Java Enum用法详解

    Java Enum用法详解 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举 ...

  5. Java 习惯用法总结

    转自:http://www.importnew.com/15605.html 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » Java 习惯用法总结 2015/04/ ...

  6. 你真的了解java的lambda吗?- java lambda用法与源码分析

    你真的了解java的lambda吗?- java lambda用法与源码分析 转载请注明来源:cmlanche.com 用法 示例:最普遍的一个例子,执行一个线程 new Thread(() -> ...

  7. java TreeMap用法

    转自:http://huchenqiang90.blog.163.com/blog/static/11250080020101025956498/ 最近工作遇到需要按一个model中不同的列进行排序的 ...

  8. 最全面的Java多线程用法解析

    1.创建线程 在Java中创建线程有两种方法:使用Thread类和使用Runnable接口.在使用Runnable接口时需要建立一个Thread实例.因此,无论是通过Thread类还是Runnable ...

  9. java Socket用法详解(转)

    在客户/服务器通信模式中, 客户端需要主动创建与服务器连接的 Socket(套接字), 服务器端收到了客户端的连接请求, 也会创建与客户连接的 Socket. Socket可看做是通信连接两端的收发器 ...

  10. Java习惯用法总结

    在微博中看到的一个不错的帖子,总结的很详细,拷贝过来,一是为了方便自己查阅,也能和大家一起共享,后面有原文的链接地址: 在Java编程中,有些知识 并不能仅通过语言规范或者标准API文档就能学到的.在 ...

随机推荐

  1. shell脚本中if

    [[ $i =~ ^[0-9]+$ ]] && echo 1 的解释 =~ 表示的是匹配 && 是前一个命令为真 才执行后一个命令 [[ ]] 是if判断使用正则表达式 ...

  2. 5种网络IO模型(有图,很清楚)

    同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出 ...

  3. React文档(十五)使用propTypes进行类型检查

    注意: React.PropTypes 自 React v15.5 起已弃用.请使用 prop-types 库代替. 随着你的应用的开发,你会使用类型检查的方法来捕获很多bug.对于一些应用,你可以使 ...

  4. ABAP基础一:ALV基础之ALV的整体结构

    很久没摸ECC了,最近看到很多新人在捯饬ALV...中国就喜欢量产垃圾...培训,上岗...没有行业道德... 闲话不多说,开始正事: ALV很常见,在SAP非WEB的项目,没有不用的,它包含了报表和 ...

  5. Python Flask框架

    Python有很多Web框架,可谓是百家争鸣,我这里列出几个比较叼的几个框架 Django      市场占有率最高,官方文档几近完美,但是适合比较大的项目,小项目会显得累赘. Tornado    ...

  6. C# 远程传输File文件

    /// <summary> /// 向论坛传图片文件 /// </summary> /// <param name="filePath">< ...

  7. 显卡、GPU和CUDA简介

    http://blog.csdn.net/wu_nan_nan/article/details/45603299 声明: 本文部分内容来自网络.由于知识有限,有错误的地方还请指正.本帖为自己学习过程的 ...

  8. jvm-垃圾收集

    概述 说起垃圾收集,大部分人都把这项技术当做Java语言的伴生产物.其实,GC主要就是考虑完成三件事情: 哪些内存需要回收 什么时候回收 如何回收. 经过半个多世纪的发展,目前内存的动态分配与内存的回 ...

  9. Linux安装64位Mysql5.7

    首先下载mysql 地址:https://dev.mysql.com/downloads/mysql/ 下载社区版mysql 下载完成后:ftp上传到服务器 /user/local/目录下,这个自己定 ...

  10. socket练习--ssh

    服务器端: # -*-coding:utf-8-*- # Author:sunhao import socket import os server = socket.socket() ip_port ...