this 키워드 및 super 키워드
2240 단어 java 기초 노트
this 키워드는 프로그램에서 세 가지 일반적인 용도로 사용됩니다.
(1)this 키워드를 통해 한 종류의 구성원 변수에 명확하게 접근하여 국부 변수의 명칭과 충돌하는 문제를 해결할 수 있다.
예:
class Person{
int age;
public Person(int age){
this.age=age;
}
public int getAge (){
return this.age;
}
}
위 코드에서 구조 방법의 매개 변수는age로 정의된다. 이것은 국부 변수이고 클래스에서 구성원 변수도 정의했다. 이름도age이다. 구조 방법에서'age'를 사용하면 국부 변수에 접근하지만'this.age'를 사용하면 구성원 변수에 접근한다.
(2)this 키워드를 통해 구성원 호출 방법
(3) 구조 방법은 실례화 대상일 때 자바 가상기에서 자동으로 호출되는 것으로 프로그램에서 다른 방법처럼 구조 방법을 호출할 수 없지만 하나의 구조 방법에서'this([파라미터 1, 파라미터 2...])'를 사용할 수 있다.다른 구조 방법을 사용하다.
class Person{
public Person(){
System.out.printIn( );
}
public Person(String name){
this();
System.out.printIn( );
}
}
public class Example{
public static viod main (String[] args){
Person p=new Person("itcast");
}
}
this 호출 클래스의 구조를 사용할 때 주의해야 할 것은 다음과 같다.
1. 구조 방법에서this를 사용하여 다른 구조 방법을 호출할 수 있을 뿐 구성원 방법에서는 사용할 수 없다.
2. 구조 방법에서this를 사용하여 구조 방법을 호출하는 문장은 반드시 첫 줄에 있어야 하며 한 번만 나타날 수 있다.
3. 두 가지 유형의 구조 방법에서this를 사용하여 서로 호출할 수 없다.
슈퍼 키워드
하위 클래스가 하위 클래스를 다시 쓰는 방법을 사용하면 하위 클래스 대상은 하위 클래스가 다시 쓰는 방법에 접근할 수 없습니다. 이 문제를 해결하기 위해 자바에서 하위 클래스에 접근하는 구성원을 위한 슈퍼 키워드를 제공합니다.
super 사용법:
(1) 슈퍼를 사용하여 부류의 구성원 변수와 구성원 방법을 호출한다.형식은 다음과 같습니다.
super.구성원 변수
super. ([ 1, 2....])
(2) 슈퍼를 사용하여 부류의 구조 방법을 호출한다.
예:
class Animal{
public Animal(String name){
System.out.printIn(" "+name);
}
}
class Dog extends Animal{
public Dog(){
super(" ");
}
}
public class Example{
public static viod main(String[ ] args ){
Dog dog=new Dog();
}
}
주의: 슈퍼를 통해 부류를 호출하는 구조 방법의 코드는 부류 구조 방법의 첫 줄에 있어야 하며 한 번만 나타날 수 있습니다.
자류의 구조 방법 중에는 반드시 부류의 어떤 구조 방법을 호출할 것이다.이 때 하위 클래스의 구조 방법 중 슈퍼를 통해 하위 클래스를 호출하는 어떤 구조 방법을 지정할 수 있으며, 지정하지 않으면 하위 클래스의 대상을 실례화할 때 하위 클래스가 참조되지 않은 구조 방법을 자동으로 호출할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
this 키워드 및 super 키워드this 키워드 (1)this 키워드를 통해 한 종류의 구성원 변수에 명확하게 접근하여 국부 변수의 명칭과 충돌하는 문제를 해결할 수 있다. 구조 방법에서'age'를 사용하면 국부 변수에 접근하지만'this.age'...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.