这个 this 到底指向谁, 为什么 s.getName() 输出 foo, 而 s.name 输出 bar.
我以为两个都结果都应该是 bar,是哪里搞错了?
class Person { public String name = "foo"; public String getName() { return this.name; } } class Student extends Person { public String name = "bar"; } public class Hello { public static void main(String[] args) { Student s = new Student(); System.out.println(s.getName()); // foo System.out.println(s.name); // bar } }
![]() | 1 yumenawei 2020-10-12 21:49:57 +08:00 ![]() 帮顶~ |
2 billlee 2020-10-12 21:54:16 +08:00 ![]() |
![]() | 3 itechify PRO ![]() 多态针对接口(行为,方法),属性没有多态 |
![]() | 4 dushe 2020-10-13 14:02:03 +08:00 this 指向最近的对象 |