举个例子,我看到了下面三种写法,不知道一不一样,求解public class Person{
...
Person p;
...
Person.getName();
...
p.getName();
...
this.getName();
...
}
...
Person p;
...
Person.getName();
...
p.getName();
...
this.getName();
...
}
类是调用静态方法变量的 对象是调用非静态方法变量的 当然也可以调用静态的 不推荐这么写 this是指代当前对象的
getName为Person的静态类。p.getName();
实例化Person p对象,调用其getName方法。this.getName();
Person内部调用或子对象调用getName方法。
getName为Person的静态方法,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() 两个同名的方法(一个静态,一个非静态)是不允许同时出现的。