看到这么一段代码public class Ssh2Session
{protected boolean rawOutput;
public boolean getRawOutput()
{
return Ssh2Session.this.rawOutput;
}
}这里面的Ssh2Session.this.rawOutput;为什么这么用捏??请高手赐教!!
{protected boolean rawOutput;
public boolean getRawOutput()
{
return Ssh2Session.this.rawOutput;
}
}这里面的Ssh2Session.this.rawOutput;为什么这么用捏??请高手赐教!!
解决方案 »
- java能不能写入有带BOM的UTF-8格式的文件
- activemq 用来解决JAVA与C++通讯问题
- spring中这个提示表示什么意思?
- 考考大家:protected修饰符,你真的弄明白了吗?
- java创建UTF-16编码的文件乱码..似乎从来没有人碰到过这个问题.
- 哪个大侠帮一下小弟/谢谢了!
- swing怎么得到当前活动的mdi子窗口
- 关于画矩形.
- 对你们来讲一定简单
- 我所学的是计算机,现在想学JAVA,对JAVA绝对是初学!!!可以交流的留下个地址。肯定给分,不过非完分后就是问题,问题,问题了;)有留E-mail至少1分
- 求一java正则表达式
- 给一个有特定格式的String,如何对他加工,才可以调用PreparedStatement.setTimestamp();
使用内部类的时候会见到类名.this的写法,尤其常见于事件处理的代码中.
你可以这样测试一下:
public class Test { protected boolean rawOutput; public boolean getRawOutput() {
return Test.this.rawOutput;
} public boolean getRawOutput2() {
return rawOutput;
}
}注意getRawOutput方法和getRawOutput2方法的区别就是Test.this这部分,对class文件进行反汇编,Compiled from "Test.java"
public class Test extends java.lang.Object{
protected boolean rawOutput;public Test();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: returnpublic boolean getRawOutput();
Code:
0: aload_0
1: getfield #2; //Field rawOutput:Z
4: ireturnpublic boolean getRawOutput2();
Code:
0: aload_0
1: getfield #2; //Field rawOutput:Z
4: ireturn}可以发现这两个方法是完全相同的,如果看不懂反汇编的代码,可以直接反编译,我使用的jd-gui.exe, 结果public class Test
{
protected boolean rawOutput; public boolean getRawOutput()
{
return this.rawOutput;
} public boolean getRawOutput2() {
return this.rawOutput;
}
}