본문 바로가기

프로그래밍/Java

이것이 자바다 9장 확인 문제 답 - 신용권의 Java 프로그래밍 정복

728x90
반응형

중첩 멤버 클래스,에 대한 설명으로 틀린 것은?


4번

 


 

로컬 클래스에 대한 설명으로 틀린 것은?


3번

 


 

 

 

익명 객체에 대한 설명으로 틀린 것은?


3번

 


 

멤버 클래의 객체를 생성하는 코드를 작성해보세요


Car myCar = new Car();
Car.Tire tire = myCar.new Tire();

Car.Engine engine = new Car.Engine();

 

 


 

인터페이스의 익명 구현 객체를 이용해서 대입해보세요.


public interface Vehicle {
    public void run();
}
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();
    }
}
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Anonymous anoy = new Anonymous();
        anoy.field.run();
        anoy.method1();
        anoy.method2(new Vehicle() {
            @Override
            public void run() {
                System.out.println("기차가 달립니다.");
            }
        });
    }

}

 

 


채팅 클래스의 에러의 원인은 무엇인가?


nickName은 중첩 클래스안에 선언되어있다. 그러므로 파이널 특성이다. 근데 대입이 두번 일어났으니 에러가남 해결 방법은 null 대신 chatId를 넣거나 전역에 넣으면 됨

 


 

728x90
반응형