在java 属性没有重载概念。可能 一听感觉很正确。可是实际开发。你认识这点吗。
下面到例子 是我拷贝到 。你看看。猜猜结果。
- public class Main {
- public static void main(String[] args) {
- Person person = new Student();
- System.out.println("Name: "+person.getName()); // --> Guess
- person.setName("set outside");
- System.out.println("After Name: "+person.getName()); // --> Guess
- Student student = (Student)person;
- System.out.println("After cast, Name: "+student.getName()); // --> Guess
- }
- }
- class Person {
- private String name = "Person name"; // --> (A)
- public void setName(String name) {
- this.name = name+"_ in superClass";
- }
- public String getName() {
- return this.name;
- }
- }
- class Student extends Person{
- private String name = "Student name"; // --> (B)
- public void setName(String name) {
- this.name = name + "_ in subClass";
- }
- /*
- public String getName() { --> (C)
- return this.name;
- }
- */
- }