자바 의 구조 방법 set/get 과 toString 의 사용 에 대한 상세 한 설명

구조 함수
구조 함수 의 가장 큰 역할 은 대상 을 만 들 때 초기 화 를 완성 하 는 것 입 니 다.우리 가 new 대상 에 매개 변 수 를 입력 할 때 구조 함 수 를 자동 으로 호출 하고 매개 변수의 초기 화 를 완성 합 니 다.다음 과 같다.

public class Test01 {
  private String name;
  //      
  public Test01(String name) {
    this.name = name;
  }
  public static void main(String[] args) {
    Test01 t=new Test01("Wade");
    System.out.println(t.name);
  }
}
실행 결 과 는"Wade"입 니 다.
삽입,구조 함수 단축 키 삽입:alt+insert,Constructor(구조 함수)

이것 은 우리 가 Test 01 대상 을 만 들 때 구조 함 수 를 자동 으로 호출 하여 초기 화 를 완성 한 다 는 것 을 의미한다.이때 프로그램의 name 속성 은 Wade 가 된다.구조 함 수 는 new 대상 에 매개 변 수 를 입력 한 후 속성 초기 화 를 완성 하기 위 한 것 이 라 고 합 니 다.그런데 왜 내 프로그램 에 구조 함 수 를 쓰 지 않 으 면 초기 화 를 완성 할 수 있 습 니까?
1.구조 함 수 를 쓰 지 않 으 면 프로그램 은 자동 으로 매개 변수 가 없 는 구조 함수(기본 값,숨 김)를 생 성 합 니 다.
2.구조 함 수 를 썼 다 면 사용자 정의 구조 함 수 는 매개 변수 없 는 구조 함 수 를 덮어 씁 니 다.
3.매개 변수 가 있 는 구조 함수 만 쓰 고 매개 변수 가 없 는 구조 함수 가 존재 하지 않 으 면 new XXX()로 할 수 없습니다.이러한 방식 의 실례 화 대상 은 실례 화 대상 코드 에서 new XXX("**");괄호 안의 매개 변 수 는 구조 함수 의 매개 변수 와 일치 해 야 합 니 다.그렇지 않 으 면 잘못 보 고 됩 니 다.(물론 대상 을 생 성 한 후 그들의 set,get 방법 을 통 해 값 을 부여 할 수 있 습 니 다.)
그래서 비교적 타당 하고 자주 사용 하 는 방식 은 자바 류 에서 무 삼 구조 함수 와 유 삼 구조 함 수 를 동시에 정의 하 는 것 입 니 다.코드 는 다음 과 같 습 니 다.

public class Test01 {
  private String name;
  //      
  public Test01(String name) {
    this.name = name;
  }
  //      
  public Test01() {
  }
  public static void main(String[] args) {
    //                
    Test01 t=new Test01("Wade");
    //                
    Test01 t1=new Test01();
    System.out.println(t.name+","+t1.name);
  }
}
실행 결 과 는"Wade,null"입 니 다.
이렇게 하면 실제 사용 하기에 매우 편리 할 것 이다.
2.set()/get()방법
우 리 는 먼저 set 와 get 이라는 두 단어의 표면적 인 의 미 를 살 펴 보 자.set 는 설정 의 뜻 이 고 get 은 얻 는 뜻 이다.말 그대로 이 두 가지 방법 은 데 이 터 를 설정 하고 얻 는 것 이다.
그리고 JAVA 가 대상 을 대상 으로 프로 그래 밍 하 는 폐쇄 성과 안전성 을 알 아 보 겠 습 니 다.폐쇄 성 은 클래스 의 도 메 인 변 수 를 폐쇄 적 으로 조작 하 는 것 입 니 다.즉,private 로 그들 을 수식 하 는 것 입 니 다.그러면 다른 클래스 는 이 변 수 를 방문 할 수 없습니다.이렇게 해서 우 리 는 이러한 변 수 를 클래스 내부 에 폐쇄 시 켰 다.그러면 데이터 의 안전성 을 향상 시 켰 다.우리 가 이런 도 메 인 변 수 를 조작 하려 면 어떻게 해 야 합 니까?우 리 는 두 가지 방법 을 통 해 첫째,Public 방식 의 구조 기(또는 구조 함수)를 통 해 대상 이 예화 되면 이 변수 에 값 을 부여 할 수 있다.두 번 째 는 위 에서 언급 한 set 와 get 방법 을 통 해 특정한 예 를 들 어 저 는 Person 류 를 정의 합 니 다.이 유형 에는 name,age 라 는 두 개의 개인 도 메 인 변수 가 있 습 니 다.그리고 저 는 setname(),getname(),setage(),getage()라 는 네 가지 방법 을 정의 합 니 다.이 네 가지 방법 을 통 해 name 과 age 에 대한 조작 을 실현 합 니 다.이렇게 되면 저 는 Person 류 의 도 메 인 변 수 를 직접 조작 하지 않 고 set 와 get 방법 으로 이런 변 수 를 간접 적 으로 조작 하면 도 메 인 변수의 안전성 을 향상 시 키 는 동시에 도 메 인 변수의 패 키 징 형 도 확보 할 수 있 습 니 다.
현재 상기 코드 를 예 로 들 어 set/get 방법 을 추가 합 니 다.
같은 단축 키 사용:alt+insert,Getter and Setter

public class Test01 {
  private String name;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  //      
  public Test01(String name) {
    this.name = name;
  }
  //      
  public Test01() {
  }
  public static void main(String[] args) {
    //                
    Test01 t=new Test01("Wade");
    //                
    Test01 t1=new Test01();
	//  set()       
    t.setName("CP3");
	//      
    t1.name="Rose";
	//  get()       
    System.out.println("t:"+t.getName()+","+"t1:"+t1.name);
	//      ,t.getName() t.name      ,         ,      ,     t.getName(),set()       。
  }
}
실행 결 과 는"t:CP3,t1:Rose"입 니 다.
이것 이 바로 자바 프로 그래 밍 언어의 패 키 징 사상 입 니 다.잘 이해 해 주시 기 바 랍 니 다.
3.toString()방법
Object 클래스 는 toString()방법 을 가지 고 있 습 니 다.만 든 모든 클래스 가 이 방법 을 계승 합 니 다.대상 의 String 을 되 돌려 주 고 디 버 깅 에 도움 이 됩 니 다.그러나 기본 적 인 toString()방법 은 수 요 를 만족 시 키 지 못 하기 때문에 이 방법 을 덮어 써 야 합 니 다.toString()방법 은 대상 을 문자열 로 변환 합 니 다.
위 코드 를 마지막 으로 추가 합 니 다.

System.out.println(t.toString());
System.out.println(t1.toString());
실행 결 과 는?

    @     
Test01@6d6f6e28
Test01@135fbaa4
이게 뭘 까요?대상 의 주소 값 이지 만 이것 은 우리 가 필요 로 하 는 정보 가 아 닙 니 다.우 리 는 대상 의 각종 속성 값 을 원 하기 때문에 toString()방법 을 다시 써 야 합 니 다.
같은 단축 키 사용:alt+insert,toString()

public class Test01 {
  private String name;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  //      
  public Test01(String name) {
    this.name = name;
  }
  //      
  public Test01() {
  }
    //  toString()  ,     
  @Override
  public String toString() {
    return "Test01{" +
        "name='" + name + '\'' +
        '}';
  }
  public static void main(String[] args) {
    //                
    Test01 t=new Test01("Wade");
    //                
    Test01 t1=new Test01();
    //  set()       
    t.setName("CP3");
    //      
    t1.name="Rose";
    //  get()       
    System.out.println("t:"+t.getName()+","+"t1:"+t1.name);
    //      ,t.getName() t.name      ,         ,      ,     t.getName(),set()       。
    System.out.println(t.toString());
    System.out.println(t1.toString());
  }
}
실행 결 과 는?

t:CP3,t1:Rose
Test01{name='CP3'}
Test01{name='Rose'}
이렇게 하면 우리 가 원 하 는 정 보 를 얻 을 수 있 습 니 다.이것 이 바로 toString()이 자바 류 에서 의 기본 적 인 용법 입 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기