Java中的this指针使用方法分享

 更新时间:2014年06月24日 11:51:01   投稿:hebedich  
我知道很多朋友都和我一样:在JAVA程序中似乎经常见到“this”,自己也偶尔用到它,但是到底“this”该怎么用,却心中无数!很多人一提起它,就说“当前对象”,可到底什么是当前对象,是什么当前对象,他自己也不清楚。

    Java中, 一般来说this指针指的是当前正在访问的这段代码的对象 ,但是如果在内部类中需要使用外部类中的对象,这时就需要使用外部类的类名进行限定。 这种方式在Android开发中也比较常见 。

  @Author: twlkyao

package twlkyao;

public class A { 
 public A() { 
  Inner inner = new Inner();
  inner.outer(); // call the inner class's outer method.
  this.outer(); // call A's outer method.
 } 
 
 public void outer() { 
  System.out.println("outer run");
 } 

 class Inner {
  public void outer(){
   System.out.println("inner run");
   A.this.outer(); // call A's outer method.
   System.out.println("--------");
  }
 }
 
 public static void main(String[] args) {
  A a = new A();
 }
}

    Inner是内部类,访问类A中的outer()方法,又由于匿名内部类中有同样的方法,所以需要使用A的this指针进行限定。

    输出结果为:

inner run

outer run

--------

outer run


相关文章

  • SpringBoot如何实现一个实时更新的进度条的示例代码

    SpringBoot如何实现一个实时更新的进度条的示例代码

    本文详细的介绍了SpringBoot如何实现一个实时更新的进度条,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 解决java数值范围以及float与double精度丢失的问题

    解决java数值范围以及float与double精度丢失的问题

    下面小编就为大家带来一篇解决java数值范围以及float与double精度丢失的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Spring缓存注解@Cacheable @CacheEvit @CachePut使用介绍

    Spring缓存注解@Cacheable @CacheEvit @CachePut使用介绍

    Spring在3.1版本,就提供了一条基于注解的缓存策略,实际使用起来还是很丝滑的,本文将针对几个常用的注解进行简单的介绍说明,有需要的小伙伴可以尝试一下
    2021-07-07
  • Java正则提取中括号中的内容操作示例

    Java正则提取中括号中的内容操作示例

    这篇文章主要介绍了Java正则提取中括号中的内容操作,涉及Java针对字符串的正则匹配、转换、遍历等相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • elasticsearch中term与match的区别讲解

    elasticsearch中term与match的区别讲解

    今天小编就为大家分享一篇关于elasticsearch中term与match的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Java如何基于ProcessBuilder类调用外部程序

    Java如何基于ProcessBuilder类调用外部程序

    这篇文章主要介绍了Java如何基于ProcessBuilder类调用外部程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Java从网络读取图片并保存至本地实例

    Java从网络读取图片并保存至本地实例

    这篇文章主要为大家详细介绍了Java从网络读取图片并保存至本地的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • java后端请求过滤options方式

    java后端请求过滤options方式

    Optional项是一个容器对象,它可以包含非空值,也可以不包含非空值,它用于表示没有值,而不是使用 null,引入Optional项是为了帮助开发人员编写更简洁、更具表现力的代码,并避免 NullPointerException
    2024-01-01
  • MyBatis Map结果的Key转为驼峰式

    MyBatis Map结果的Key转为驼峰式

    今天小编就为大家分享一篇关于MyBatis Map结果的Key转为驼峰式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • SpringBoot项目启动报错:命令行太长解决的两种解决方法

    SpringBoot项目启动报错:命令行太长解决的两种解决方法

    SpringBoot项目启动时可能会遇到命令行太长的错误,本文介绍两种解决方法修改.idea\workspace.xml文件和执行maven的clean命令或重启IDEA,这些操作可以有效解决启动问题,需要的朋友可以参考下
    2024-10-10

最新评论