被忽略的Java疑点。

来源:百度知道 编辑:UC知道 时间:2024/07/16 04:04:54
public class Test {

public void a(){
System.out.println("a");
}

public void b(){
a();
this.a();
}
}
以下两个调用有什么本质区别?请详细说明。
a();
this.a();

/**
* @author finalsea
*/
public class Circle {

public static void main(String[] args) {
List persons = new LinkedList();
for (int i = 0; i < 13; i++) {
persons.add(""+(i+1));
}
hit(persons);
System.out.println(persons);
}
public static void hit(List list) {
if(list.size() < 3) {
list.remove(0);
return;
}
list.remove(2);
if(list.size() >= 3) {
Collections.rotate(list,-2);
}
hit(list);
}
}

一样的。
但是对于特定情况就不一样了。比如:

public class Test {

public void a(){
System.out.println("a");
}
public int s=10;
public void b(){
a();
this.a();
int s=0;

System.out.println(this.s);//两个结果一样吗?
System.out.println(s);
}
}