一、this关键字

1.this的类型:哪个对象调用就是哪个对象的引用类型

二、用法总结

1.this.data; //访问属性

2.this.func(); //访问方法

3.this(); //调用本类中其他构造方法

三、解释用法

1.this.data

这种是在成员方法中使用

让我们来看看不加this会出现什么样的状况

class MyDate{public int year;public int month;public int day;public void setDate(int year, int month,int day){year = year;//这里没有加thismonth = month;//这里没有加thisday = day;//这里没有加this}public void PrintDate(){System.out.println(year+"年 "+month+"月 "+day+"日 ");}
}
public class TestDemo {public static void main(String[] args) {MyDate myDate = new MyDate();myDate.setDate(2000,9,25);myDate.PrintDate();MyDate myDate1 = new MyDate();myDate1.setDate(2002,7,14);myDate1.PrintDate();}
}

我们想要达到的预期是分别输出2000年9月25日,2002年7月14日。

而实际输出的结果是

而当我们加上this时

class MyDate{public int year;public int month;public int day;public void setDate(int year, int month,int day){this.year = year;this.month = month;this.day = day;}public void PrintDate(){System.out.println(this.year+"年 "+this.month+"月 "+this.day+"日 ");}
}
public class TestDemo {public static void main(String[] args) {MyDate myDate = new MyDate();myDate.setDate(2000,9,25);myDate.PrintDate();MyDate myDate1 = new MyDate();myDate1.setDate(2002,7,14);myDate1.PrintDate();}
}

就实现了赋值的功能,为了避免出现差错,我们建议尽量带上this

2.this.func()

这种是指在普通成员方法中使用this调用另一个成员方法

class Student{public String name;public void doClass(){System.out.println(name+"上课");this.doHomeWork();}public void doHomeWork(){System.out.println(name+"正在写作业");}
}
public class TestDemo2 {public static void main(String[] args) {Student student = new Student();student.name = "小明";student.doClass();}
}

运行结果:

 (3)this()

这种指在构造方法中使用this调用本类其他的构造方法

这种this的使用注意以下几点

1.this只能在构造方法中调用其他构造方法

2.this要放在第一行

3.一个构造方法中只能调用一个构造方法

运行结果

Java中this的用法相关推荐

  1. java中的基本用法

    java中的基本用法 关键字:专门用途的字符串 所有java关键字都是小写英文 标识符 java常量 java变量 ■ 作用域:起作用的区域■ 使用前必须先声明,在赋值.使用变量名访问这块区域 jav ...

  2. Java中getResourceAsStream的用法

    Java中getResourceAsStream的用法 首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String p ...

  3. Java中getResourceAsStream的用法小结

    2019独角兽企业重金招聘Python工程师标准>>> Java中getResourceAsStream的用法小结 一.Java中的getResourceAsStream主要有以下三 ...

  4. java中substring的用法

    2019独角兽企业重金招聘Python工程师标准>>> java中substring的用法 str=str.substring(int beginIndex);截取掉str从首字母起 ...

  5. JAVA中Final的用法

    JAVA中Final的用法 1. 修饰基础数据成员的final 这是final的主要用途,其含义相当于C/C++的const,即该成员被修饰为常量,意味着不可修改.如java.lang.Math类中的 ...

  6. php simpledateformat,Java中SimpleDateFormat的用法介绍(代码示例)

    本篇文章给大家带来的内容是关于Java中SimpleDateFormat的用法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.为什么要使用SimpleDateFo ...

  7. java中demo接人_return的用法_如何理解java中return的用法?

    C语言中return用法?(请熟练者进) return是返回值,这个返回值是和函数的类型有关的,函数的类型是什么,他的返回值就是什么 比方主函数intmain() {}这里就必须有一个return,只 ...

  8. java中native的用法

    java中native的用法前言:在查看 Thread.java 文件时,发现有一个 方法比较特殊 private native void start0();概念:native关键字说明其修饰的方法是 ...

  9. day9:JAVA中while的用法

    一.while循环 while循环是先判断条件是否为真,如果条件为真,则执行循环体. 语句形式: while( 循环条件 ){ 一条语句 / 多条语句 ( 循环体 ) } 二.do-while循环 d ...

  10. Java 中 switch 的用法

    Java 中 switch 的用法 1.switch 中的表达式的数据的数据类型为 byte, short, int, char, String(jdk > 1.7支持 String 类型) 2 ...

最新文章

  1. 开发webpart时建立图像文件夹和CSS,js文件夹
  2. 揭秘人工智能面试内容:8家国际巨头机器学习面试题目整理
  3. cdh 安装_CDH 中为spark 安装 python3
  4. ZooKeeper Dynamic Reconfiguration (dynamicConfigFile) ZooKeeper动态配置
  5. Convolutional neural networks for artistic style transfer
  6. 中断处理的tasklet(小任务)机制-不过如此
  7. MVC中用 BundleCollection 压缩CSS时图片路径问题
  8. Python 之操作so动态库
  9. phalcon index.php,除了Phalcon php中的indexAction之外,无法调用indexController的动作
  10. 勇芳软件测试,勇芳自动刷分精灵
  11. 如何使用Java语言实现一个网页爬虫
  12. 微星小飞机怎么显示帧数?方法介绍
  13. php mescroll,mescroll快速入门
  14. Dell服务器误删阵列恢复操作
  15. 软连接和硬连接(Linux创建软连接一定要用绝对路径)
  16. 区块链app商城软件系统开发浅析
  17. windowsXP服务详解
  18. Linux——远程管理篇
  19. 大数据时代,揭露个人数据泄漏和秘密跟踪内幕
  20. TP-LINK3310 Router2.4G 连接失败问题处理

热门文章

  1. mysql权限管理命令小结
  2. Win7 SP1语言包微软官方下载地址及使用方法
  3. 声音均衡器怎么调好听_【音乐均衡器怎么调好听】五段均衡器怎么调好听_9段均衡器怎么调好听...
  4. 移动互联网创新39个热点
  5. java微信支付,企业微信号转账给个人
  6. xshell官网免费版下载
  7. 我在2016年读到的
  8. 中国天气网城市代码爬取
  9. 01.业务编号规则与算法整合
  10. Android SDK 环境变量配置