class Outer
{
int outer1=100;{ void test() inner in=new inner(this)
in.display();
}public static void main(String [] args)
{
Outer outer=new Outer();
outer.test();
}
}class inner
{
Outer outer;
public inner(Outer outer)
{
this.outer=outer;
}
void display()
{
System.out.println("outer1="+outer.outer1);
}
}
这段简单的代码,只是输出100这个数字。请问下划线代码中里的this是什么意思。谢谢
{
int outer1=100;{ void test() inner in=new inner(this)
in.display();
}public static void main(String [] args)
{
Outer outer=new Outer();
outer.test();
}
}class inner
{
Outer outer;
public inner(Outer outer)
{
this.outer=outer;
}
void display()
{
System.out.println("outer1="+outer.outer1);
}
}
这段简单的代码,只是输出100这个数字。请问下划线代码中里的this是什么意思。谢谢
解决方案 »
- 有没有前辈在weblogic上成功配置域信任的??请各位前辈帮帮忙啊
- 关于iframe 中去浏览pdf
- 新手求问websphere
- runtime environments
- 如何在web service上传递抽象类型的参数啊!!!好几天搞不定了!!!
- hibernate初学者问
- 请问什么样在struts里进行mysql数据库的备份和恢复?
- J2EE高手进-->关于传送自动生成的ID的问题
- ie8 如何使用base标签,好像不起作用。
- spring ioc的好处是什么?不用new对象了?可以也要xxx.getBean()啊?没觉得有啥好处啊?
- 正在做BBS毕业设计,寻找需求功能
- 学struts1 还是学struts2?
为了帮助你理解,举下面两个例子:public class Test { public static void main(String[] args) throws Exception{
String temp = this.getMessage();
}
public void main(){
String temp = this.getMessage();
}
private String getMessage(){
return "You are welcome to JAVA.";
}
}在静态方法中用this的话,编译报错。因为静态方法不需要新建类的实例就可以运行。
而不新建实例的话,当然不会有对实例的引用了。所有说,静态方法中肯定不能用this。
另外一个例子,JavaBean里经常会有下面的代码:public class Test { String message; public String getMessage() {
return message;
} public void setMessage(String message) {
this.message = message;
}
}借助this,你可以区分参数和当前类的同名属性。