java 新手
答案:4 悬赏:50 手机版
解决时间 2021-11-14 00:40
- 提问者网友:温旧梦泪无声
- 2021-11-13 13:33
java 新手
最佳答案
- 五星知识达人网友:野慌
- 2021-11-13 13:38
public class Test {
public void f(){
System.out.println("123456");
}
public Test2 test = new Test2(){
public void test1(){
this.f();//调用自己的方法
}
public void test2(){
Test.this.f();//调用外部类的方法
}
};
public static void main(String[] args) {
Test test = new Test();
test.test.test1();
test.test.test2();
}
}
class Test2{
public void f(){
System.out.println("654321");
}
public void test1(){}
public void test2(){}
}之前我也不太清楚,网上搜了下资料,当内部类或者匿名类需要调用主类(外部类)的方法时需要类名.this.方法名。希望对你有帮助。
追问谢谢啊!
public void f(){
System.out.println("123456");
}
public Test2 test = new Test2(){
public void test1(){
this.f();//调用自己的方法
}
public void test2(){
Test.this.f();//调用外部类的方法
}
};
public static void main(String[] args) {
Test test = new Test();
test.test.test1();
test.test.test2();
}
}
class Test2{
public void f(){
System.out.println("654321");
}
public void test1(){}
public void test2(){}
}之前我也不太清楚,网上搜了下资料,当内部类或者匿名类需要调用主类(外部类)的方法时需要类名.this.方法名。希望对你有帮助。
追问谢谢啊!
全部回答
- 1楼网友:像个废品
- 2021-11-13 16:11
一般不会这么用,这么用可以调用实例方法和new Object().方法()效果是一样的
- 2楼网友:话散在刀尖上
- 2021-11-13 14:47
据我所知,没这么用的
你得理解清除this是干嘛用的
有类名.方法名(),这是调用类的静态方法
也有this.方法名()
你得理解清除this是干嘛用的
有类名.方法名(),这是调用类的静态方法
也有this.方法名()
- 3楼网友:北方的南先生
- 2021-11-13 13:51
如果一个类(后面称为外部类)里有用到一些内部类和匿名内部类。当在内部类中用this时,这个this则指的是内部类本身的对象。
如果我们要使用外部类的方法时,就应该这样写:外部类的类名.this.要调用的外部类的方法名()追问谢谢啊
如果我们要使用外部类的方法时,就应该这样写:外部类的类名.this.要调用的外部类的方法名()追问谢谢啊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯