this关键字是什么?

Java有一个关键字叫this。 它是对类的当前实例的引用。它只能在实例的上下文中使用。以下代码显示如何使用this关键字。

public class Main {

int varA = 1;

int varB = varA; // Assign value of varA to varB

int varC = this.varA; // Assign value of varA to varC

}

当实例变量或类变量被具有相同名称的另一个变量覆盖时,需要使用关键字this限定一个实例变量,并使用类名称定义一个类变量。

实例

下面的代码显示了如何使用this关键字来引用一个实例变量,它的名字被一个局部变量覆盖隐藏。

public class Main {

int num = 2018; // 这是一个实例变量

void printNum(int num) { // 这个参数的名称也叫 num ,与上面实例变量同名

System.out.println("Parameter num: " + num); // 打印参数 num 的值

System.out.println("Instance variable num: " + this.num); // 打印实例变量 num 的值

}

public static void main(String[] args) {

Main tt6 = new Main();

tt6.printNum(2017);

}

}

上面的代码生成以下结果。

Parameter num: 2017

Instance variable num:2018

注意:有时,需要保持变量名相同,因为它们代表相同的事情。

例如,以下代码非常常见:

Student类声明了一个实例变量id。 在其setId()方法中,它还命名参数id,并使用this.id引用实例变量。

它还使用this.id在其getId()方法中引用实例变量id。

public class Student {

private int id; // An instance variable

public void setId(int id) {

this.id = id;

}

public int getId() {

return this.id;

}

}

可以使用关键字this来限定实例方法名。 以下代码显示使用关键字this调用m2()方法的m1()方法。

public class Main {

void m1() {

// Invoke the m2() method

this.m2(); // same as "m2();"

// 或者不要 this 直接 m2();

// m2();

}

void m2() {

// do something

System.out.println("This m2() method.");

}

}

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

java中的this.id_Java this关键字相关推荐

  1. Java中的synchronized与volatile关键字

    原文出处:http://hukai.me/android-training-course-in-chinese/performance/smp/index.html Java中的"synch ...

  2. Java中的break和continue关键字使用总结

    java中的break和continue关键字使用总结 一.作用和区别 break的作用是跳出当前循环块(for.while.do while)或程序块(switch).在循环块中的作用是跳出当前正在 ...

  3. java中用于定义小数的关键字_Java 中用于定义小数的关键字有两个:( ) 和 ( )。_学小易找答案...

    [填空题]列举至少三种中药饮片现代贮藏方法 [单选题]用于薄壁形零件联接时,应采用 . [填空题]若螺纹的直径和螺纹副的摩擦系数一定, 则拧紧螺母时的效率取决于螺纹的 和 . [单选题]以太网采用的介 ...

  4. 简要解析Java中的throw和throws关键字

    解析Java中的throw和throws关键字 1 throws关键字 1.1 作用 向上抛异常,把异常交给调用处处理,实际上自身并没有处理异常. 1.2 原理 一旦方法体出现异常,仍会在异常代码出生 ...

  5. Java中的对象、private关键字、this关键字、构造方法

    面向对象 概述:Java一种面向对象的程序设计语言,面向对象思想是一种程序设计思想,在面向对象思想的指引下,使用Java语言去设计.开发计算机程序. 这里的对象泛指现实中一切事物,每种事物都具备自己的 ...

  6. java中abstract是什么_java关键字abstract

    在java中我们中abstract关键字来表达抽象.举个例子: 我们说车子都可以跑(run).但有几个轮子,怎么跑,对于不同的车有不同的结果.自行车需要人踩着跑,汽车发动机推动跑等等,那么我们可以车表 ...

  7. java中用于定义小数的关键字_Java中用于定义小数的关键字有两个:() 和 (),后者精度高于前者。...

    1.[ 填空题 ]给Java中的菜单项设置快捷键所使用的类中对应的构造方法为______. 2.[ 主观题 ][程序设计题]编写一个方法hex3704(),要求将一个十进制正整数n转换成十六进制数,其 ...

  8. Java中几个常见的关键字

    1.this关键字 用法:访问类的成员变量:调用成员方法:可以在一个构造方法中调用其他的构造方法. 注意:1)只能在构造方法中使用this调用其他的构造方法,不能在成员方法中调用 2)在构造方法中,使 ...

  9. java中被遗忘的native关键字

    我是无意间看见JNI( java调用动态链接库dll )这块的东西. 所有记下来:本地声明方法  装载完成dll文件后,将使用的方法用native关键字声明. public native static ...

最新文章

  1. 黄聪: bootstrap 多模态框实现
  2. jQuery控制tab标签页
  3. iptables 防火墙
  4. VMware拍摄快照(系统备份)
  5. oracletns中不存在名称为_oracle tnsname.ora中的SERVICE_NAME 代表实例的名称还是代表全局数据库的名称?...
  6. Spark入门(九)之PI估值
  7. java 输出字符串的所有排列_JAVA 输出指定字符串所有排列组合
  8. 使用DPDK打开Open vSwitch(OvS) *概述
  9. js常用内建对象之:Math
  10. 安卓手机管理_安卓手机用户大福利,谷歌将改善手机内存管理,运行更流畅
  11. PowerBuilder9.0连接ORACLE数据库
  12. 数字电路-时序逻辑电路
  13. 札记:Xen是如何工作的?
  14. Excel高级子列合并
  15. 面向对象的设计原则(SOLID)
  16. 淘宝商品详情API接口(网页版,APP端二合一接口)
  17. MySQL中的各种查询
  18. 刷脸时代:勿信谣言,告诉你真实的刷脸支付系统
  19. 新浪A股、港股、美股、股票期权行情接口
  20. linux网关设置方法是什么?五个步骤帮你搞定

热门文章

  1. php centos mysql_Linux+Apache+PHP+MySQL服务器环境(CentOS篇)
  2. python编译成c代码_python如何调用c编译好可执行程序
  3. ft2232驱动安装方法_教你win10系统显卡驱动安装失败的解决方法「系统天地」
  4. 双纵坐标的绘图命令_Matplotlib绘图 | 快速定义图表样式的小技巧
  5. HNU 实验五 拜访朋友
  6. LeetCode Week 2:第 11 ~ 20 题
  7. NanoDet-Plus的学习笔记
  8. 强化学习——From drew追寻Mitsuha的学习笔记
  9. 关于“单元组”数量的计算
  10. ubuntu 20.04 DNS 设置