Java中的this关键字详解,不看后悔系列

简介: Java中的this关键字详解,不看后悔系列

一、为什么要使用this?

          当局部变量和成员变量出现了重名问题,Java会根据就近原则,优先使用局部变量

          非要使用成员变量的话,可以使用this关键字进行区分
              

在这里插入图片描述


二、this关键字介绍

  this: 代表当前类对象的引用(地址)      //就是当前类对象的地址值
             
                       哪一个对象调用的this,this就代表哪一个对象
                                
                                
   如:
       下面的两个this是不一样的:
       
           Phone p1=new Phone();
           System.out.println("打印p1对象名----->"+p1);  //打印p1对象名----->mythis.Phone@34a245ab(这个是p1地址值)
           p1.show();     //this打印出来的也是p1的地址值

           Phone p2=new Phone();
           System.out.println("打印p2对象名----->"+p2);  //打印p2对象名----->mythis.Phone@7cc355be(这个是p2地址值)
           p2.show();    //this打印出来的也是p2的地址值

在这里插入图片描述

在这里插入图片描述


三、this的作用

         this的作用:
         
              this本质的作用:是调用本类成员(成员变量,成员方法),如果调用的时候不涉及重名,可以不写this

               表面的作用: 可以区分成员变量和局部变量的重名问题 
               
               
例子:
      public class Student2 {
            
         private String  name;       //成员变量
         private int age;
            
         public void setName(String name) {                
             this.name=name;           //加了this就是访问对象的属性,也就是成员变量                  
                }      //这里的this.name代表的是成员变量String.name , 后面的name是上面的局部变量
       }

在这里插入图片描述

在这里插入图片描述


四、this内存图

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


作者:KJ.JK

本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

目录
相关文章
|
4天前
|
Java 程序员
Java this关键字详解(3种用法),Java程序员面试必备的知识点
Java this关键字详解(3种用法),Java程序员面试必备的知识点
|
6天前
|
算法 Java 数据安全/隐私保护
【Java开发指南 | 第二篇】标识符、Java关键字及注释
【Java开发指南 | 第二篇】标识符、Java关键字及注释
13 5
|
6天前
|
安全 算法 Java
Java一分钟:线程同步:synchronized关键字
【5月更文挑战第11天】Java中的`synchronized`关键字用于线程同步,防止竞态条件,确保数据一致性。本文介绍了其工作原理、常见问题及避免策略。同步方法和同步代码块是两种使用形式,需注意避免死锁、过度使用导致的性能影响以及理解锁的可重入性和升级降级机制。示例展示了同步方法和代码块的运用,以及如何避免死锁。正确使用`synchronized`是编写多线程安全代码的核心。
58 2
|
6天前
|
小程序 Java 容器
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
10 0
|
6天前
|
Java
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
9 0
|
6天前
|
存储 安全 Java
【亮剑】Java并发编程涉及`ThreadLocal`、`Volatile`、`Synchronized`和`Atomic`四个关键机制
【4月更文挑战第30天】Java并发编程涉及`ThreadLocal`、`Volatile`、`Synchronized`和`Atomic`四个关键机制。`ThreadLocal`为每个线程提供独立变量副本;`Volatile`确保变量可见性,但不保证原子性;`Synchronized`实现同步锁,保证单线程执行;`Atomic`类利用CAS实现无锁并发控制。理解其原理有助于编写高效线程安全代码。根据业务场景选择合适机制至关重要。
|
6天前
|
Java 编译器
【Java探索之旅】this 关键字 解决你的成员变量困惑
【Java探索之旅】this 关键字 解决你的成员变量困惑
21 0
|
6天前
|
Java
【Java探索之旅】我与Java的初相识(完):注释,标识符,关键字
【Java探索之旅】我与Java的初相识(完):注释,标识符,关键字
9 0
|
6天前
|
Java
Java里的关键字 __final
Java里的关键字 __final
|
6天前
|
Java 编译器
【JAVA】volatile 关键字的作用
【JAVA】volatile 关键字的作用