Binary World

JAVA CLASS : Inner Class (연습문제 4, 5) 본문

개발자의 길/JAVA

JAVA CLASS : Inner Class (연습문제 4, 5)

모쿠 2017. 1. 10. 18:14

4. 다음과 같이 Car 클래스 내부에 Tire와 Engine이 멤버 클래스로 선언되어 있습니다. NestedClassExample에서 멤버 클래스의 객체를 생성하는 코드를 작성해보세요.


* car.java


package edu.java.excersize;


public class Car {

class Tire {}

static class Engine{}

}



* NestedClassExample.java


package edu.java.excersize;

public class NestedClassExample {

public static void main(String[] args) {
Car myCar = new Car();
Car.Tire tire = myCar.new Tire();
Car.Engine engine = new Car.Engine();

}

} 



5. AnonymousExample 클래스의 실행 결과를 보고 Vehicle 인터페이스의 익명 구현 객체를 이용해서 필드, 로컬 변수의 초기값과 메소드의 매개값을 대입해 보세요

* 출력화면

자전거가 달립니다.

승용차가 달립니다.

트럭이 달립니다. 


* Vehicle.java


package edu.java.excersize;


public interface Vehicle {

public void run();

} 


* Anonymous.java


package edu.java.excersize;


public class Anonymous {

Vehicle field = new Vehicle() {

@Override

public void run() {

System.out.println("자전거가 달립니다.");

}

};

void method1() {

Vehicle localvar = new Vehicle() {

@Override

public void run() {

System.out.println("승용차가 달립니다.");

}

};

localvar.run();

}

void method2(Vehicle v) {

v.run();

}

} 


AnonymousExample.java

package edu.java.excersize;


public class AnonymousExample {


public static void main(String[] args) {

// 

Anonymous anony = new Anonymous();

anony.field.run();

anony.method1();

anony.method2(new Vehicle() {

@Override

public void run() {

System.out.println("트럭이 달립니다.");

}

}

);

}


}




Comments