중첩멤버클래스에 대한 설명으로 틀린 것은 무엇입니까?
1.인스턴스 멤버 클래스는 바깥 클래스의 객체가 있어야 사용 될 수 있다.
2.정적 멤버 클래스는 바깥 클래스의 객체가 없어도 사용 될 수 있다.
3.인스턴스 멤버 클래스 내부에는 바깥 클래스의 모든 필드와 메소드를 사용할 수 있다.
✔ 4.정적 멤버 클래스 내부에는 바깥 클래스의 인스턴스 필드를 사용할 수 있다.
*정적멤버클래스는 바깥클래스의 객체가 없어도 사용을 할 수 있기 때문에,
객체가 반드시 있어야 사용할수있는 바깥클래스의 필드를 정적멤버클래스 내부에 둘수없다.
로컬클래스에 대한 설명으로 틀린 것은 무엇입니까?
1.로컬클래스는 메소드 내부에 선언된 클래스를 말한다.
2.로컬 클래스는 바깥 클래스의 모든 필드와 메소드를 사용할 수 있다.
✔ 3.로컬 클래스는 static 키워드를 이용해서 정적 클래스로 만들 수 있다. *로컬클래스는 static을 붙일수없다.
4.final 특성을 가진 매개변수나 로컬 변수만 로컬 클래스 내부에서 사용 할 수 있다.
익명 객체에 대한 설명으로 틀린 것은 무엇입니까?
1.익명 객체는 클래스를 상속하거나 인터페이스를 구현해야만 생성될 수 있다.
2.익명 객체는 필드,매개변수,로컬변수의 초기값으로 주로 사용된다.
✔ 3.익명 객체에는 생성자를 선언할 수 있다.
4.부모클래스나 인터페이스에 선언된 필드와 메소드 이외에 다른 필드와 메소드를 선언할 수있지만,
익명 객체 내부에서만 사용이 가능하다.
다음과 같이 Car클래스 내부에 Tire와 Engine이 멤버클래스로 선언되어있습니다.
외부 클래스에서 멤버 클래스의 객체를 생성하는 코드를 작성해보세요.
public class NestedClassExample{
public static void main(String[] args) {
//인스턴스멤버클래스객체생성
Car myCar = new Car();
//바깥클래스.내부클래스 내부클래스변수명 = 내부클래스변수명.new 내부클래스();
Car.Tire tire = myCar.new Tire();
//정적멤버클래스 객체생성
//바깥클래스.내부클래스 내부클래스변수명 = new 외부클래스.내부클래스();
Car.Engine engine = new Car.Engine();
}
}
AnonymousExample 클래스의 실행 결과를 보고 Vehicle 인터페이스의 익명 구현 클래스 객체를 이용해서
필드, 로컬변수의 초기값과 메소드의 매개값을 대입해보세요.
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();
}
}
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("트럭이 달립니다");
}
}
);
}
}
다음 Chatting 클래스는 컴파일 에러가 발생합니다. 원인이 무엇입니까?
String nickName = null;
Chat이라는 로컬클래스가 있고,
nickName이라는 로컬변수를 사용하고있다.
nickName은 final특성을 가지고있다.
final특성은 한번대입이되면 수정이 불가능하다.
수정하는 방법:
String nickName = chatId
'STUDY > JAVA' 카테고리의 다른 글
[JAVA-이것이자바다.10장] 예외 확인 문제 (0) | 2022.07.24 |
---|---|
[JAVA] 22-07-21 객체의 해시코드 hashCode() ☑ (0) | 2022.07.21 |
[JAVA] 22-07-20 자바 API / Object 클래스 ☑ (0) | 2022.07.20 |
[JAVA] 22-07-20 객체비교 equals() ☑ (0) | 2022.07.20 |
[JAVA-이것이자바다.8장] 인터페이스 확인 문제 (0) | 2022.07.19 |