java의 슈퍼 키워드
Java의 슈퍼
키워드는 직접 상위 클래스 객체를 참조하는 데 사용되는 참조 변수입니다. 서브 클래스의 인스턴스를 만들 때마다 상위 클래스의 인스턴스가 암시 적으로 생성되고 super
참조 변수에 의해 참조됩니다.
Java Super 키워드 사용
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
키워드를 사용해야합니다.
슈퍼
는 부모 클래스 메소드를 호출하는 데 사용될 수 있습니다. 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
키워드를 사용해야합니다.
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
키워드의 또 다른 예, 여기서
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 ();
}
} 출력 :
] https://www.javatpoint.com/super-keyword
]]]
이 개정 된 출력은 다른 문구와 문장 구조를 사용하는 동안 원래 의미를 유지합니다. ]]
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3