코틀린의 경우는 기본 생성자는 추가해줄 필요가 없어요. 자동으로 컴파일러가 처리해줍니다. 그리고 생성자 인자가 있는 경우는
블로그코드처럼 클래스명 옆에 추가해 줍니다.
블로그에 나오는 코틀린 클래스입니다.
class HolidayDecorator(var holidays: ArrayList<CalendarDay>) : DayViewDecorator {
override fun shouldDecorate(day: CalendarDay): Boolean {
return holidays.contains(day)
} //여기서 true가 리턴되면 decorate 함수가 실행된다.
override fun decorate(view: DayViewFacade?) {
if (view != null) {
view.addSpan(ForegroundColorSpan(Color.RED))
}
}
}
이걸 자바코드로 변경하면 아래와 같습니다.
public class HolidayDecorator implements DayViewDecorator {
private List<CalendarDay> holidays;
public HolidayDecorator(List<CalendarDay> holidays) {
this.holidays = holidays;
}
@Override
public boolean shouldDecorate(CalendarDay day) {
return holidays.contains(day);
}
@Override
public void decorate(DayViewFacade view) {
if (view != null) {
view.addSpan(new ForegroundColorSpan(Color.RED));
}
}
}
안드로이드 개발을 하려면 아직 자바만 지원하는 라이브러리나 레퍼런스도 많기 때문에 코드를 읽을 줄은 아시는게 좋습니다.