JAVA CLASS : Inner Class (연습문제 4, 5)
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(); } } |
자전거가 달립니다. 승용차가 달립니다. 트럭이 달립니다. |
* 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(); } } |
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("트럭이 달립니다."); } } ); } } |