"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java의 슈퍼 키워드

Java의 슈퍼 키워드

2025-02-07에 게시되었습니다
검색:307

java의 슈퍼 키워드

Java의 슈퍼 키워드는 직접 상위 클래스 객체를 참조하는 데 사용되는 참조 변수입니다. 서브 클래스의 인스턴스를 만들 때마다 상위 클래스의 인스턴스가 암시 적으로 생성되고 super 참조 변수에 의해 참조됩니다.

Java Super 키워드 사용

Super Keyword in Java

  1. super 는 Direct Parent Class의 인스턴스 변수를 참조하는 데 사용됩니다.

우리는 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();
    }
}

출력 :

]

검은색 하얀색

위의 예에서 동물과 개 클래스에는 공개 속성 색상이 있습니다. 색상 속성을 인쇄하면 기본적으로 현재 클래스의 색상을 인쇄합니다. 부모 속성에 액세스하려면 Super 키워드를 사용해야합니다.

  1. 슈퍼 는 부모 클래스 메소드를 호출하는 데 사용될 수 있습니다.

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 는 부모 클래스 생성자를 호출하는 데 사용됩니다.

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 () 또는 가없는 경우 생성자에 컴파일러는 각 클래스 생성자에

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();
    }
}
클래스 동물 { 동물() { System.out.println ( "동물이 생성"); } } 계급 개 확장 동물 { 개() { System.out.println ( "개는 생성"); } } 클래스 testsuper4 { public static void main (String args []) { 개 d = 새로운 개 (); } }

출력 :

]

동물이 만들어졌습니다 개는 만들어졌습니다 슈퍼

예 : 실제 응용 프로그램

(보충 될)

슈퍼
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();
    }
}
클래스 사람 { int id; 문자열 이름; Person (int id, 문자열 이름) { this.id = id; this.name = 이름; } } 클래스 emp는 사람을 확장합니다 { 플로트 급여; emp (int id, 문자열 이름, 플로트 급여) { Super (id, name); // 상위 클래스 생성자를 재사용합니다 this.salary = 급여; } void display () { System.out.println (id ""이름 ""급여); } } 클래스 testsuper5 { public static void main (String [] args) { EMP E1 = New Emp (1, "Ankit", 45000f); e1.display (); } }

출력 :

]

1 Ankit 45000 참조 :

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

]]]

이 개정 된 출력은 다른 문구와 문장 구조를 사용하는 동안 원래 의미를 유지합니다. ]]

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3