this关键字的三种用法:

  • 通过this关键字可以明确的访问一个类的成员变量,解决成员变量与局部变量名称冲突问题。
    实例:
public class Student {//定义四个成员变量String name;int age;long phone;String address;//有参构造方法public Student(String name, int age, long phone, String address) {this.name = name;this.age = age;this.phone = phone;this.address = address;}//成员变量的get/set方法public String getName(){//访问的是成员变量namereturn this.name;}public void setName(String name) {this.name = name;}
}

上面代码中构造方法中定义的参数name,age等它是局部变量,在类中也定义了name,age等成员变量,在构造方法中使用age则是访问局部变量,如果想访问类中的成员变量,使用this.age则是访问成员变量。

  • 通过this关键字调用成员方法
    实例:
public class Student {public void test1(){System.out.println("test1方法执行了......");}public void test2(){//调用test1()方法this.test1();}
}

在test2()方法中通过this.test1()访问test1()方法,注意此处的this关键字可以不写,效果是一样的。

public class Student {public void test1(){System.out.println("test1方法执行了......");}public void test2(){//调用test1()方法test1();}
}
  • 在构造方法中访问构造方法使用this([参数1,参数2,…])
    实例:
public class Student { //成员变量nameString name;public Student() {System.out.println("这是无参构造方法....");}public Student(String name) {//调用无参构造方法this();this.name = name;}public void printName(){System.out.println("姓名:" + name);}public static void main(String[] args) {Student student = new Student("小明");student.printName();}
}

在有参构造方法中调用了无参构造方法,在使用this调用构造方法时有以下注意几点:

只能在构造方法中使用this()调用其他的构造方法,不能在成员方法中使用。
在构造方法中使用this()调用构造方法的语句必须位于第一行,而且只能出现一次。
不能在一个类中的两个构造方法中使用this()互相调用。

public class Student {//成员变量String name;public Student() {System.out.println("无参构造方法...");//错误,必须位于第一行this("张三");}public Student(String name) {this.name = name;}}public class Student {String name;//成员变量public Student() {//错误,不能相互调用this("张三");}public Student(String name) {//错误,不能相互调用this();}
}

JAVA语言中的this关键字用法相关推荐

  1. C语言中的extern关键字用法

    在C语言中,修饰符extern用在变量或者函数的声明前,用来说明"此变量/函数是在别处定义的,要在此处引用". 1. extern修饰变量的声明.举例来说,如果文件a.c需要引用b ...

  2. c语言中rand()的作用,c语言中的rand()函数用法

    rand() rand()函数作用:用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的. rand()函数返回:返回一个范围在 ...

  3. c语言sinx的作用,C语言中 sinx cosx 的用法

    #include #include int main() { double pi=acos(-1.0); double angle; scanf("%lf",&angle) ...

  4. java 英文字符 字节_3、在JAVA语言中,每个英文字符占 个字节,每个中文汉字占( )个字节。...

    [判断题]中心原子中的几个原子轨道杂化时,必形成数目相同的杂化轨道. [单选题]集合 用区间表示正确的是 ( ) [单选题]15.Java语言的类间的继承关系是 [单选题]8.编译Java Appli ...

  5. python语言中with as的用法使用详解

    本篇文章主要介绍了python语言中with as的用法使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 With语句是什么? 有一些任务,可能事先需要设置,事后做 ...

  6. java的逻辑常量_在Java语言中,逻辑常量只有true和(__)两个值;

    [填空题]定义类的保留字是(__)定义接口的保留字是(__); [单选题]结合了不同类型的防火墙特点的是( ). [填空题]Java将运行错误分为两类:(__)和(__), 其对应的类均派生自(__) ...

  7. 在c语言中for的作用,c语言中for语句的用法

    C语言语言中FOR的用法 for 是一个循环语句,和while是类似的,for一般的用法有: for(i=0;i<10;i++) { printf("hello world" ...

  8. Java语言中J - R开头的英汉对照学习

    为初学者而著! Java基础是初学者的起点,是帮助你从小白入门到精通必学基础课程! B站最新录制Java300集>>>   适合准备入行开发的零基础员学习Java,基于最新JDK13 ...

  9. python global函数_如何使用python语言中的global关键字获取函数值

    在python语言中,如果在函数外层定义了一个全局变量a,函数内部又有一个同名的局部变量,想要这个全局变量的值改成为局部变量的值,可以使用global.下面利用一个实例说明如何实现这个场景,操作如下: ...

最新文章

  1. java开放源码_开放源码的第一周:我是如何参与的,以及我学到的东西
  2. SAP RETAIL 供应商寄售库存的UB STO
  3. Windows环境下QWT安装及配置
  4. 当前,我们的DJANGO项目的requirements.txt文件
  5. 交叉熵和极大似然估计的再理解
  6. 基于深度极限学习机DELM的回归预测
  7. NYOJ题目91-阶乘之和
  8. 不同格式导入EndNote方法总结
  9. win10 自动同步时间脚本
  10. 人力资源管理中的能力素质模型
  11. 在自己电脑上建立SVN服务器
  12. ansible playbook 中的变量用法相关介绍(三)----set_fact模块,跨play调用变量
  13. 智能手表FCC CE最新法规简述
  14. D3.js 制作中国地图 .net 公共基础类
  15. python django 图片管理系统
  16. 想去再看一遍《龙猫》
  17. JSTL和Ajax小计
  18. 架构师如何高效的学习技术?
  19. android 自定义menu 背景颜色,Android中设置Menu菜单的文字颜色为白色
  20. 网页退出弹出新网页或者收藏夹

热门文章

  1. Redis如何存储对象
  2. svg背景_具有SVG和混合模式的波普艺术背景
  3. php detailview,Yii2.0小部件 DetailView
  4. 心酸!蘑菇街上市,老员工期权被除以25稀释,还赔上8年青春
  5. 非结构化数据存储方案
  6. windowsservice占内存多么_12GB内存只需不到四千元,性价比和体验兼顾的联想小新Air 14...
  7. 技术团队常见的管理模式有哪些
  8. ATK-ESP8266获取时间和知心天气的天气信息
  9. 新学期新气象,开学大计划!
  10. Android build.gradle配置文件