1. 什么是this引用

this引用指向当前对象(谁调用这个方法,谁就是当前对象),在成员方法中对所有成员变量的操作,都是通过该引用去访问的。 只不过所有的操作对用户是透明的,用户不需要来传递,编译器自动完成。

public class HeroInfo {public String name;public int height;public void setHero(String name,int height){this.name = name;this.height = height;}public void printHero(){System.out.println("name: "+this.name+" height: "+ this.height);}
    public static void main(String[] args) {HeroInfo heroInfo = new HeroInfo();heroInfo.setHero("娜可露露",170);heroInfo.printHero();}

注意:this引用的是调用成员方法的对象 (下图中,this 引用的就是调用 setHero()和 printHero() 两个方法的 对象 HeroInfo )

2. this 引用的特性

  • this的类型:对应类类型引用,就是 哪个对象调用的 就是哪个对象的引用类型
  • this 只能在 成员方法 中使用 (不能在静态方法中使用)
  • 成员方法中,this只能引用当前对象,不能再引用其他对象
  • this成员方法 第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责将 调用成员方法对象的引用传递给该成员方法,this 负责来接收

3. this.data 、 this.func() 、 this()

  • this.data:访问当前对象的成员变量

  • this.func():访问当前对象的成员方法 (在构造方法或者成员方法中,都可以访问当前对象的成员方法)


  • 在成员方法中不能用 this 调用构造方法 (对this的调用必须是构造器中的第一个语句)

  • this():调用当前对象的其他构造方法 (必须是在构造方法中的第一个语句,且只能在构造方法中 调用)


  • this 不能调用静态的方法和属性

一文带你快速了解Java中的【this引用】相关推荐

  1. 教妹学Java(二十):一文带你彻底了解 Java 中的注释,干货了

    你好呀,我是沉默王二,一枚颜值与才华俱在的程序员.本篇教程通过我和三妹对话的形式来谈一谈"Java 中的注释". 教妹学 Java,没见过这么有趣的标题吧?"语不惊人死不 ...

  2. 一文带你快速了解 Java 线上问题快速诊断神器 Arthas

    文章目录 一.什么是 Arthas 二.特性一览 三.Arthas 能为你做什么? 四.快速安装 1.前提条件 2.一键安装 五.快速使用 1.启动脚本并连接进程 2.启动 jar 包并连接进程 六. ...

  3. 10个问题让你快速避开java中的jdbc常见坑

    摘要:JDBC,即Java Database Connectivity,java数据库连接.是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范. 本文分享自华为云社区<1 ...

  4. java byte char io流_一文带你看懂JAVA IO流,史上最全面的IO教学

    原标题:一文带你看懂JAVA IO流,史上最全面的IO教学 一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符 ...

  5. java io流详解_一文带你看懂JAVA IO流,史上最全面的IO教学啦

    一.IO流是什么 惯例引用百科的回答流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操作 ...

  6. javaio流_一文带你看懂JAVA IO流,史上最全面的IO教学啦

    一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操 ...

  7. 一文带你看懂JAVA IO流(一),史上最全面的IO教学啦(附送JAVA IO脑图)

    一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操 ...

  8. 一文带你看懂JAVA IO流,史上最全面的IO教学啦(附送JAVA IO脑图

    一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操 ...

  9. 一文带你了解PCB设计中的常用基本概念

    本文将从初学者的角度出发,一文带你快速了解PCB设计中的常用基本概念: 一.FR4板材 FR-4就是玻璃纤维环氧树脂覆铜板,线路板中的一种基材,可以分为一般FR4板材和高TG FR4板材,Tg是玻璃转 ...

最新文章

  1. 词移距离 Word Mover‘s Distance
  2. FMDatabaseQueue 数据库多线程操作、事务处理
  3. 以太坊Solidity函数的external/internal,public/private区别
  4. unity3d 的Quaternion.identity和transform.rotation区别是什么
  5. AAAI 2019 滴滴被收录论文全解读
  6. Docker CE/EE 原生支持Kubernetes
  7. Git忽略文件或文件夹
  8. Lubuntu 18.10仍有可能支持32位PC
  9. Android编程之仿微信显示更多文字的View
  10. gjrand 4.0 发布,C语言的伪随机数生成器
  11. 使用Specflow 和XUnit 进行BDD测试项目配置方法
  12. 分享12款 JavaScript 表格控件(DataGrid)
  13. AlterID.exe 报错问题
  14. 为什么相关不等于因果
  15. Android APP隐藏图标、无启动界面、进程隐藏的方法
  16. XSS 之 haozi me 题解——人生第一份CSDN题解
  17. 国内好用的邮箱评选,电子邮箱大全有你的吗?
  18. intern string java_Java-String.intern的深入研究
  19. ETI工作-测试文件多层folder树生成
  20. HTML中的标记-遁地龙卷风

热门文章

  1. 【Java基础】Spring 中 Bean 的理解与使用
  2. 大数据计算技术-数据计算处理系统-计算模式(计算模型)
  3. 抛弃postman,IDEA REST Client你不能不会用的idea自带插件
  4. html5 实现ios原生控件,vue.js实现仿原生ios时间选择组件开发经验
  5. 【头歌】重生之我在py入门实训中(11):Pandas初体验
  6. 查询数据库的隔离级别
  7. android 开发工具历程_Android app应用软件开发的艰辛历程
  8. 2022/11/27一周总结
  9. mysql 查看是否锁表
  10. 汪国真:《热爱生命》和《跨越自已》