Cómo configurar android studio y super palabra clave del java

Se puede heredar una gran cantidad de sus padres. Quizás no sea la capacidad de codificar su aplicación para Android con Java, pero eso es otra discusión. Una cosa que no se puede heredar es sus experiencias de haber nacido. Sí, se puede ver las imágenes que tuvieron sus abuelos. Pero eso no es lo mismo que haber estado allí.

En este punto, se puede sentir como quibbling. ¿Qué significaría para “heredar” experiencias del nacimiento de sus padres? Así, puede dejar allí mismo. Esto no es un esfuerzo para formar una metáfora perfecta. Sólo ayuda para introducir un hecho importante acerca de la programación Java - el hecho de que las clases no heredan los constructores de sus clases padre.

Echa un vistazo a este código: ¿Qué es un empleado?

com.allyourcode.company- paquete

Empleado {public class

Public String nombre-

Public String jobTitle-

empleado público() {

}

Empleado público (String nombre, cadena jobTitle) {

this.name = Nombre

this.jobTitle = jobTitle-

}

Cadena getPayString pública () {

Nombre regresar + ", Pay no se conoce n"-

}

}

Ahora examine este código: Empleados de Tiempo Completo tienen salarios

com.allyourcode.company- paquete

importación java.text.NumberFormat-

importación java.util.Locale-

FullTimeEmployee clase pública se extiende Empleado {

SALARIO doble pública

moneda NumberFormat estática = NumberFormat.getCurrencyInstance (Locale.US) -

FullTimeEmployee pública () {

}

FullTimeEmployee pública (String nombre, cadena jobTitle, salario doble) {

this.name = Nombre

this.jobTitle = jobTitle-

this.salary = SALARIO

}

pagar el doble pública () {

volver SALARIO

}

@Anular

Cadena getPayString pública () {

Nombre regresar + ", " + Currency.format (de pago ()) + "norte"-

}

}

Mira las constructoras.

los Empleado a tiempo completo clase extiende la Empleado clase.

Ambas clases tienen constructores sin parámetros.

Ambas clases tienen constructores que inicializan todos sus campos.

De hecho, una Empleado a tiempo completo constructor inicializa tres campos. Sólo uno de estos campos - la salario campo - se declara en el Empleado a tiempo completo código de clase. los Empleado a tiempo completo clase hereda los otros dos campos - nombre y título profesional - desde el Empleado clase. Esto no es una cuestión de Empleado a tiempo completo anulando constructores de su clase padre. No hay constructores para anular. Al igual que cualquier otra subclase, la Empleado a tiempo completo clase no hereda los constructores de la clase padre.

¿Hay alguna manera de evitar la redundancia repugnante de todas las declaraciones del constructor? Ahi esta. Java súper palabra clave puede referirse al constructor de una clase padre:

FullTimeEmployee pública (String nombre, cadena jobTitle, salario doble) {

super (nombre, jobTitle) -

this.salary = SALARIO

}

En este código, el Empleado a tiempo completo constructor llama al constructor de la clase padre. La llamada a súper y tiene dos parámetros, como la suerte lo tendría, el padre Empleado clase tiene un constructor de dos parámetros:

Empleado público (String nombre, cadena jobTitle) {

this.name = Nombre

this.jobTitle = jobTitle-

}

los súper llamada envía dos parámetros al constructor de la clase padre, y el constructor de la clase padre utiliza esos dos parámetros para dar nombre y título profesional sus valores iniciales. Finalmente, el Empleado a tiempo completo clase asigna un valor a su propia salario campo. Todo funciona muy bien.

Artículos Relacionados