안녕하세요!! 오늘은 자바에서 생성자 This 활용하는법을 알아보도록 하겠습니다!!
생성자This 는 같은 기능을 하는 생성자 사이에서 코드의 간결함과 유지보수의 편리함을위해 사용하는데요.
아래 예를보고 알아보겠습니다.
public class ThisTest {
private int a;
private int b;
ThisTest(){
a = b;
}
ThisTest(int a){
this.a = a;
b = 0;
}
ThisTest(int a, int b){
this.a = a;
this.b = b;
}
public int getA() {
return a;
}
public int getB() {
return b;
}
public static void main(String[] args) {
ThisTest t1 = new ThisTest();
ThisTest t2 = new ThisTest(10);
ThisTest t3 = new ThisTest(30,40);
System.out.println(t1.getA()+"\t"+t1.getB());
System.out.println(t2.getA()+"\t"+t2.getB());
System.out.println(t3.getA()+"\t"+t3.getB());
}
}
public class ThisTest {
private int a;
private int b;
ThisTest(){
this(0,0);
}
ThisTest(int a){
this(a,0);
}
ThisTest(int a, int b){
this.a = a;
this.b = b;
}
public int getA() {
return a;
}
public int getB() {
return b;
}
public static void main(String[] args) {
ThisTest t1 = new ThisTest();
ThisTest t2 = new ThisTest(10);
ThisTest t3 = new ThisTest(30,40);
System.out.println(t1.getA()+"\t"+t1.getB());
System.out.println(t2.getA()+"\t"+t2.getB());
System.out.println(t3.getA()+"\t"+t3.getB());
}
}
위코드와 아래코드의 결과는 같습니다.
두 코드의 차이점이 보이시나요??
위 코드는 생성자간에 비슷한 동작을 하는 코드를 넣었고 아래는 this를 이용하여 만들었습니다!
뭐가 정답이라고 할순없지만 이렇게 사용할수 있다는 것을 알고 간다면 언젠가 도움이 될수도 있겠죠?.
감사합니다.
'Java' 카테고리의 다른 글
[자바]쓰레드(Thread) (0) | 2017.08.10 |
---|---|
[자바](AWT)+member/anonymous innerClass (1) | 2017.08.10 |
[자바](AWT)간단한 구조 (0) | 2017.08.10 |
[자바]String값 기본 (0) | 2017.08.09 |
[자바]for문 두개로 원하는 크기의 별찍기(다이아몬드 만들기) (1) | 2017.08.08 |