「java内部类this」Java内部类this

博主:adminadmin 2022-12-24 09:00:06 86

今天给各位分享java内部类this的知识,其中也会对Java内部类this进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 内部类 this关键字的问题

1this表示引用当前类 ,跟对象没关系,不存在对对象的引用

2内部类内部用this必然是引用的内部类

3内部类内想引用外部类就用你说的那个 外部类名.this ,当然还有其他好多方法

java,类名.this

有时候,我们会用到一些内部类和匿名类。当在匿名类中用this时,这个this则指的是匿名类或内部类本身。这时如果我们要使用外部类的方法和变量的话,则应该加上外部类的类名。如下面这个例子:

public

class

A

{

int

i

=

1;

public

A()

{

Thread

thread

=

new

Thread()

{

public

void

run()

{

System.out.println("内部类run");

A.this.run();//调用外部类的run方法,输出

外部类run

};

this.run();//调用内部类的run方法

thread.start();

}

public

void

run()

{

System.out.println("外部类run");

}

}

在上面这个例子中,

thread是一个匿名类对象,在它的定义中,它的run函数里用到了外部类的run函数。这时由于函数同名,直接调用就不行了。这时有两种办法,一种就是把外部的

run

函数换一个名字,但这种办法对于一个开发到中途的应用来说是不可取的。那么就可以用这个例子中的办法用

外部类的类名加上this引用来说明要调用的是外部类的方法run。

java中the加类名什么意思

this指的是当前正在访问这段代码的对象,当在内部类中使用this指的就是内部类的对象,

为了访问外层类对象,就可以使用外层类名.this来访问,一般也只在这种情况下使用这种

示例代码,请注意第17行!代码来自《Android应用开发揭秘》

public class Activity01 extends Activity

{

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

/* 设置显示main.xml布局 */

setContentView(R.layout.main);

/* findViewById(R.id.button1)取得布局main.xml中的button1 */

Button button = (Button) findViewById(R.id.button1);

/* 监听button的事件信息 */

button.setOnClickListener(new Button.OnClickListener() {

public void onClick(View v)

{

/* 新建一个Intent对象 */

Intent intent = new Intent();

/* 指定intent要启动的类 */

intent.setClass(Activity01.this, Activity02.class);

/* 启动一个新的Activity */

startActivity(intent);

/* 关闭当前的Activity */

Activity01.this.finish();

}

关于java内部类this和Java内部类this的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。