"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Palabra clave súper en Java

Palabra clave súper en Java

Publicado el 2025-02-07
Navegar:281

Super Palabra clave en java

la palabra clave super en java es una variable de referencia utilizada para referirse a un objeto de clase principal directa. Cada vez que crea una instancia de una subclase, la instancia de la clase principal se crea implícitamente y hace referencia por la variable de referencia super .

Uso de Java Super Key Palabra

Super Keyword in Java

  1. super se usa para referirse a las variables de instancia de la clase principal directa.

podemos usar la palabra clave super para acceder al miembro o campo de datos de la clase principal. Si la clase de padres e hijos tiene el mismo campo, úselo.

class Animal {
    String color = "white";
}

class Dog extends Animal {
    String color = "black";

    void printColor() {
        System.out.println(color); // 打印 Dog 类的颜色
        System.out.println(super.color); // 打印 Animal 类的颜色
    }
}

class TestSuper1 {
    public static void main(String args[]) {
        Dog d = new Dog();
        d.printColor();
    }
}

Producción:

]

negro blanco

En el ejemplo anterior, las clases de animales y perros tienen color de atributo público. Si imprimimos la propiedad de color, imprimirá el color de la clase actual de forma predeterminada. Para acceder a la propiedad principal, necesitamos usar la palabra clave super .

  1. super se puede usar para llamar a los métodos de clase principal.
La palabra clave

super también se puede usar para llamar a los métodos de clase principal. Si una clase infantil contiene el mismo método que la clase principal, debe usarse. En otras palabras, si el método se reescribe, se usa.

class Animal {
    void eat() {
        System.out.println("eating...");
    }
}

class Dog extends Animal {
    void eat() {
        System.out.println("eating bread...");
    }

    void bark() {
        System.out.println("barking...");
    }

    void work() {
        super.eat();
        bark();
    }
}

class TestSuper2 {
    public static void main(String args[]) {
        Dog d = new Dog();
        d.work();
    }
}

Producción:

]

comiendo... ladrido...

En el ejemplo anterior, las clases de animales y perros tienen el método EAT (). se da al método local. Para llamar al método de clase principal, necesitamos usar la palabra clave super .

  1. super se usa para llamar al constructor de la clase principal.
La palabra clave

super también se puede usar para llamar al constructor de la clase principal. Veamos un ejemplo simple:

class Animal {
    Animal() {
        System.out.println("animal is created");
    }
}

class Dog extends Animal {
    Dog() {
        super();
        System.out.println("dog is created");
    }
}

class TestSuper3 {
    public static void main(String args[]) {
        Dog d = new Dog();
    }
}

Producción:

]

se crea animal Se crea el perro

Nota: Si no hay super () o this () en el constructor, el compilador agregará automáticamente super () a cada constructor de clases ] (A agregar)

Es bien sabido que si un constructor no existe, el compilador proporcionará automáticamente el constructor predeterminado. Sin embargo, también agrega super () como la primera declaración. (A agregar)

Otro ejemplo de la palabra clave super , donde super () es proporcionada implícitamente por el compilador. (A agregar)

class Animal {
    Animal() {
        System.out.println("animal is created");
    }
}

class Dog extends Animal {
    Dog() {
        System.out.println("dog is created");
    }
}

class TestSuper4 {
    public static void main(String args[]) {
        Dog d = new Dog();
    }
}

Producción:

]

se crea animal Se crea el perro

super Ejemplo: aplicación práctica (para complementar)

veamos la aplicación práctica de la palabra clave super . Aquí, la clase EMP hereda la clase de persona, por lo que todas las propiedades de la persona serán heredadas para EMP por defecto. Para inicializar todas las propiedades, estamos utilizando el constructor de clase principal desde la subclase. De esta manera, estamos reutilizando el constructor de la clase principal.

class Person {
    int id;
    String name;

    Person(int id, String name) {
        this.id = id;
        this.name = name;
    }
}

class Emp extends Person {
    float salary;

    Emp(int id, String name, float salary) {
        super(id, name); // 重用父类构造函数
        this.salary = salary;
    }

    void display() {
        System.out.println(id   " "   name   " "   salary);
    }
}

class TestSuper5 {
    public static void main(String[] args) {
        Emp e1 = new Emp(1, "ankit", 45000f);
        e1.display();
    }
}

Producción:

]

1 ankit 45000

referencia: https://www.javatpoint.com/super-keyword

]

Esta salida revisada mantiene el significado original mientras usa diferentes estructuras de redacción y oración. ]

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3