Todos saben que la herencia de la subclase de las clases de los padres es una herencia de tipo, ¡incluidos atributos y métodos! Si la subclase y la clase principal tienen la misma firma, ¡se llama sobrescribir! Si los atributos de la subclase y la clase principal son los mismos, ¡la clase principal ocultará sus propios atributos!
Pero si uso las referencias creadas por la clase principal y la clase infantil para señalar el objeto creado por la clase infantil, ¿cuál es el resultado del valor o el método de la propiedad en el objeto de clase infantil llamado?
Mira el código:
clase pública FieldDemo {public static void main (String [] args) {Student t = new Student ("Jack"); Persona p = t; // La referencia creada por la clase principal apunta al objeto creado por la subclase System.out.println (t.name+","+p.name); System.out.println (t.getName ()+","+p.getName ()); }} Persona de clase {nombre de cadena; int Age; public String getName () {return this.name; }} El estudiante de clase extiende a la persona {nombre de cadena; // El atributo y el nombre del atributo de clase principal son los mismos, ¡pero no será el mismo que el nombre del atributo de clase principal durante el desarrollo! ! estudiante público (nombre de cadena) {this.name = name; super.name = "rosa"; // Asignar valor a los atributos en la clase principal} public String getName () {return this.name; }} El resultado de retorno es:
Jack, Rose
Jack, Jack
La razón es: en Java, los atributos están unidos a los tipos y los métodos están vinculados a los objetos.
El artículo es muy simple, pero también tiene cierto valor práctico. Espero que sea útil para el aprendizaje de todos.