「java内部类this」Java内部类this
今天给各位分享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的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-24,除非注明,否则均为
原创文章,转载请注明出处。