«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Супер ключевое слово в Java

Супер ключевое слово в Java

Опубликовано в 2025-02-07
Просматривать:775

супер -ключевое слово в Java

]

] Ключевое слово super в Java - это эталонная переменная, используемая для обозначения объекта прямого родительского класса. Всякий раз, когда вы создаете экземпляр подкласса, экземпляр родительского класса создается неявно и ссылается ссылочной переменной Super .

]

использование Java Super Keyword

]

Super Keyword in Java

    ]
  1. super используется для обозначения переменных экземпляра прямого родительского класса.
  2. ]
]

мы можем использовать ключевое слово super для доступа к члену данных или поле родительского класса. Если у родителей и дочернего класса есть то же поле, используйте его.

]
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();
    }
}

Выход:

]

черный белый

В приведенном выше примере классы животных и собак имеют публичный цвет атрибутов. Если мы напечатаем свойство Color, он по умолчанию печатает цвет текущего класса. Чтобы получить доступ к родительскому свойству, нам нужно использовать ключевое слово super .

]
    ]
  1. super можно использовать для вызова методов родительского класса.
  2. ]
] Ключевое слово

Super также можно использовать для вызова методов родительского класса. Если дочерний класс содержит тот же метод, что и родительский класс, его следует использовать. Другими словами, если метод переписан, он используется.

]
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();
    }
}

Выход:

]

еда ... лай...

в примере, приведенном выше, классы животных и собак имеют метод eat (). дается местному методу. Чтобы вызвать метод родительского класса, нам нужно использовать ключевое слово Super .

]
    ]
  1. super используется для вызова конструктора родительского класса.
  2. ]
] Ключевое слово

Super также можно использовать для вызова конструктора родительского класса. Давайте посмотрим на простой пример:

]
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();
    }
}

Выход:

]

животное создано Собака создана

Примечание: если нет super () или this () в конструкторе, компилятор автоматически добавит super () в каждый конструктор класса ] (Чтобы быть добавленным)

]

хорошо известно, что если конструктор не существует, компилятор автоматически предоставит конструктор по умолчанию. Однако он также добавляет super () в качестве первого оператора. (Чтобы быть добавленным)

]

еще один пример Super ключевого слова, где super () неявно предоставляется компилятором. (Чтобы быть добавленным)

]
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();
    }
}

Выход:

]

животное создано Собака создана

super Пример: Практическое приложение (чтобы быть дополнением)

]

давайте посмотрим на практическое применение ключевого слова super . Здесь класс EMP наследует класс человека, поэтому все свойства человека будут унаследованы в EMP по умолчанию. Чтобы инициализировать все свойства, мы используем конструктор родительского класса из подкласса. Таким образом, мы повторно используем конструктор родительского класса.

]
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();
    }
}

Выход:

]

1 ankit 45000

]

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

]]

этот пересмотренный выход поддерживает исходное значение при использовании различных формулировок и структур предложений. ]

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3