> Java > Java시작하기 > 본문

Java에서 이것을 사용하는 경우

(*-*)浩
풀어 주다: 2019-11-11 09:04:49
원래의
3272명이 탐색했습니다.

메소드 내부에만 존재하며, 해당 메소드를 호출하는 개체를 나타내는 데 사용됩니다. 각 메소드 내부에는 this라는 지역 변수가 있다는 것을 알 수 있는데, 객체가 초기화될 때마다 객체의 각 메소드에서 객체의 주소가 this 변수에 전달되므로 이 객체를 메소드 내부에서 사용할 수 있습니다. .

Java에서 이것을 사용하는 경우

첫 번째 경우 (권장 학습: java 강좌)

일반적인 메소드에서 메소드의 형식 매개변수 이름은 현재 객체 Name의 멤버와 동일한 이름을 갖습니다. 이때 혼동을 피하기 위해 특정 멤버를 사용하려는 경우 this 키워드를 명시적으로 사용해야 합니다. 사용 방법은 "this.멤버 이름"이고, 이것이 없는 것은 형식 매개변수입니다. 또한 "this.method 이름"을 사용하여 현재 개체의 메서드를 참조할 수도 있지만, 이때는 해당 메서드에 액세스하기 위해 메서드 이름을 직접 사용할 수 있으며 컴파일러는 이를 알게 됩니다. 당신이 부르고 싶은 것은 바로 그 것입니다.

public class DemoThis {
    private String name;
    private int age;
    DemoThis(String name, int age) {
        setName(name); // 你可以加上this来调用方法,像这样:this.setName(name);但这并不是必须的
        setAge(age);
        this.print();
    }
    public void setName(String name) {
        this.name = name;// 此处必须指明你要引用成员变量
    }
    public void setAge(int age) {
        this.age = age;
    }
    public void print() {
        System.out.println("Name=" + name + " Age=" + age);// 在此行中并不需要用this,因为没有会导致混淆的东西
    }
    public static void main(String[] args) {
        DemoThis dt = new DemoThis("Kevin", "22");
    }
}
로그인 후 복사

두 번째 경우

컨테이너 클래스인 Container와 컨텐츠 클래스인 Component가 있다고 가정해 보겠습니다. Container의 멤버 메소드에서는 Component 클래스의 객체를 호출해야 합니다. Component의 생성자에는 이를 매개변수로 호출하는 Container 클래스가 필요합니다.

class Container{
    Component comp;
    public void addComponent(){
        comp=new Component(this);
    }
}
    class Component{
        Container myContainer;
        public Component(Container c){
            myContainer=c;
        }
    }
로그인 후 복사

세 번째 경우

생성자 메서드는 다른 메서드처럼 호출할 수 없으며 시스템이 객체를 초기화할 때만 시스템에서 호출할 수 있습니다. 생성자는 다른 함수에서 호출할 수 없지만 클래스의 다른 생성자에서는 호출할 수 있습니다.

class Person{
    int age;
    String name;
    public Person(){
    }
    public Person(int age){
        this.age=age;
    }
    public Person(int age,String name){
        this(age);
        this.name=name;
    }
}
로그인 후 복사

위 내용은 Java에서 이것을 사용하는 경우의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿