2016-09-08 1 views
-1

abstract 클래스의 자식 클래스가 객체를 정의하는 방법이 있었는지 궁금 해서요.이 경우에는 ArrayList입니다. 이것은 간단한 대답일지도 모릅니다. 나는 충분히 보지 못하고 있지만 아무것도 찾을 수 없습니다! 감사합니다.자식 클래스가 객체를 정의하도록 만들기

+1

아이디어를 나타내는 코드를 추가 할 수 있습니까? – ChiefTwoPencils

+0

당신이 [익명 클래스] (https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html)를 찾고 있다고 생각합니다 – rajuGT

+0

그저 'protected' 필드로 선언 할 수는 없습니까? 추상 클래스? 그럼으로 모든 아이들이 그것을 갖도록 강요합니까? – 4castle

답변

3

ArrayList을 추상 클래스의 protected 필드로 입력하십시오. 하위 클래스는 super 한정자를 사용하여 액세스하거나 로컬 변수가 섀도 잉되지 않은 경우 이름을 사용하여 액세스 할 수 있습니다.

public abstract class Person { 
    protected List<Person> friends = new ArrayList<>(); 
    public void callCellPhone() { ... } 
} 

public class Student extends Person { 
    public void callFriends() { 
     // friends is defined in the super-class 
     // "super" is an optional qualifier here 
     for (Person person : super.friends) { 
      person.callCellPhone(); 
     } 
    } 
} 
+0

학생이 사람을 연장했음을 의미 했습니까? – Jhonny007

+0

@ Jhonny007 중요한 일 이니라 xD – 4castle

관련 문제