public class Person{
...
Person p;
...
Person.getName();
...
p.getName();
...
this.getName();
...
}
11 个解决方案
#1
这个问题有深度,
我估计如果像LZ这样写,三者都是不能用的,建议LZ还是自己测试吧
具体的我说不清楚,期待高人
我估计如果像LZ这样写,三者都是不能用的,建议LZ还是自己测试吧
具体的我说不清楚,期待高人
#2
恩 我的理解
类是调用静态方法变量的 对象是调用非静态方法变量的 当然也可以调用静态的 不推荐这么写 this是指代当前对象的
类是调用静态方法变量的 对象是调用非静态方法变量的 当然也可以调用静态的 不推荐这么写 this是指代当前对象的
#3
我现在没有思路,所以没办法测试
#4
方法的作用域和调用位置问题。
#5
Person.getName();
getName为Person的静态类。
p.getName();
实例化Person p对象,调用其getName方法。
this.getName();
Person内部调用或子对象调用getName方法。
getName为Person的静态类。
p.getName();
实例化Person p对象,调用其getName方法。
this.getName();
Person内部调用或子对象调用getName方法。
#6
this即使这个类
#7
Person.getName();
getName为Person的静态方法,Person类无需实例化即可调用
#8
public class Person{
...
Person p;
...
Person.getName(); // 调用 Person 中 static 的 getName() 方法
...
p.getName(); // 调用 Person 实例 p 的 getName() 方法
...
this.getName(); // 调用当前实例的 getName() 方法
...
}
还有一种 Person.this.getName() // 在 Person 的内部类中调用当前实例 Person 的 getName() 方法。
另外 Person.getName() 与 p.getName() 两个同名的方法(一个静态,一个非静态)是不允许同时出现的。
...
Person p;
...
Person.getName(); // 调用 Person 中 static 的 getName() 方法
...
p.getName(); // 调用 Person 实例 p 的 getName() 方法
...
this.getName(); // 调用当前实例的 getName() 方法
...
}
还有一种 Person.this.getName() // 在 Person 的内部类中调用当前实例 Person 的 getName() 方法。
另外 Person.getName() 与 p.getName() 两个同名的方法(一个静态,一个非静态)是不允许同时出现的。
#9
#10
厉害
#11
分太少,再加20
#1
这个问题有深度,
我估计如果像LZ这样写,三者都是不能用的,建议LZ还是自己测试吧
具体的我说不清楚,期待高人
我估计如果像LZ这样写,三者都是不能用的,建议LZ还是自己测试吧
具体的我说不清楚,期待高人
#2
恩 我的理解
类是调用静态方法变量的 对象是调用非静态方法变量的 当然也可以调用静态的 不推荐这么写 this是指代当前对象的
类是调用静态方法变量的 对象是调用非静态方法变量的 当然也可以调用静态的 不推荐这么写 this是指代当前对象的
#3
我现在没有思路,所以没办法测试
#4
方法的作用域和调用位置问题。
#5
Person.getName();
getName为Person的静态类。
p.getName();
实例化Person p对象,调用其getName方法。
this.getName();
Person内部调用或子对象调用getName方法。
getName为Person的静态类。
p.getName();
实例化Person p对象,调用其getName方法。
this.getName();
Person内部调用或子对象调用getName方法。
#6
this即使这个类
#7
Person.getName();
getName为Person的静态方法,Person类无需实例化即可调用
#8
public class Person{
...
Person p;
...
Person.getName(); // 调用 Person 中 static 的 getName() 方法
...
p.getName(); // 调用 Person 实例 p 的 getName() 方法
...
this.getName(); // 调用当前实例的 getName() 方法
...
}
还有一种 Person.this.getName() // 在 Person 的内部类中调用当前实例 Person 的 getName() 方法。
另外 Person.getName() 与 p.getName() 两个同名的方法(一个静态,一个非静态)是不允许同时出现的。
...
Person p;
...
Person.getName(); // 调用 Person 中 static 的 getName() 方法
...
p.getName(); // 调用 Person 实例 p 的 getName() 方法
...
this.getName(); // 调用当前实例的 getName() 方法
...
}
还有一种 Person.this.getName() // 在 Person 的内部类中调用当前实例 Person 的 getName() 方法。
另外 Person.getName() 与 p.getName() 两个同名的方法(一个静态,一个非静态)是不允许同时出现的。
#9
#10
厉害
#11
分太少,再加20