当前位置: 首页 > 编程笔记 >

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

南宫凯康
2023-03-14
本文向大家介绍Java中的this指针使用方法分享,包括了Java中的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


 类似资料:
  • 每个对象都可以通过 this 指针访问自己的地址。对象的 this 指针不是对象本身的一部分,即 this 指针不在对该对象进行 sizeof 操作的结果中体现。但this指针在每次非static成员函数调用对象时(static 成员见7.7节介绍)作为第一个隐式参数传递给对象(通过编译器)。 this 指针隐式引用对象的数据成员和成员函数(当然也可以显式使用)。this 指针的类型取决于对象类型

  • C++ 类 & 对象 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址。this 指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。 友元函数没有 this 指针,因为友元不是类的成员。只有成员函数才有 this 指针。 下面的实例有助于更好地理解 this 指针的概念:#include <iostream> using namespace std; c

  • 本文向大家介绍对JavaScript中this指针的新理解分享,包括了对JavaScript中this指针的新理解分享的使用技巧和注意事项,需要的朋友参考一下 一直以来对this的理解只在可以用,会用,却没有去深究其本质。这次,借着《JavaScript The Good Parts》,作了一次深刻的理解。(所有调试都可以在控制台中看到,浏览器F12键) 下面我们一起来看看这个this吧。 在我们

  • 主要内容:this 到底是什么this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。 所谓当前对象,是指正在使用的对象。例如对于 ,stu 就是当前对象,this 就指向 stu。 下面是使用 this 的一个完整示例: 运行结果: 李华的年龄是16,成绩是96.5 this 只能用在类的内部,通过 this 可以访问类的所有成员,包括 private、protec

  • 本文向大家介绍C++中this指针用法详解及实例,包括了C++中this指针用法详解及实例的使用技巧和注意事项,需要的朋友参考一下 C++中this指针用法详解及实例 概要: 本文简单介绍this指针的基本概念,并通过一个实际例子介绍this指针用于防止变量命名冲突和用于类中层叠式调用的两个用法。 this指针概览 C++中,每个类 对应了一个对象,每个对象指向自己所在内存地址的方式即为使用thi

  • 问题内容: 我对lambda不太了解。 如果,为什么该方法仍然有效。毕竟,该对象应该由GC删除,因为没有指向该对象的指针。 还有一件事,为什么我在这里不需要返回声明? 问题答案: 在JLS,第15.13.3描述方法引用的运行评估。 方法参考表达式评估的时间比lambda表达式(第15.27.4节)更复杂。 当方法引用表达式的::分隔符之前具有表达式(而不是类型)时,将立即对该子表达式求值。该 评价