import Ġjava . util .* Ċ Ċ /* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠU G ĠShort Ġcourse Ġ( Mobile ĠApps ) Ċ Ġ* ĠFac ilit ator : ĠD enn is ĠK . ĠB il son ĠJ r . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License ") Ċ Ġ* ĠYou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* ĠUnless Ġrequired Ġby Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġ// ĠThis Ġthrows Ġan Ġerror Ġsaying : ĊĠĠĠ Ġ// ĠCannot Ġcreate Ġan Ġinstance Ġof Ġan Ġabstract Ġclass ĊĠĠĠ Ġ// ĠBase Model < My Awesome Class >() ĊĠĠĠ Ġval Ġname Ġ= Ġ" Mobile Ġapps " ĊĠĠĠ Ġval Ġmodel Ġ= Ġname . to BaseModel () ĊĊĠĠĠ Ġprintln ( model . print Name ()) Ċ } Ċ Ċ /** Ċ Ġ* ĠGeneric Ġinterface Ċ Ġ*/ Ċ abstract Ġclass ĠBase Model < T > Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġget (): ĠT ĊĊĠĠĠ Ġabstract Ġfun Ġto List ( var arg Ġitems : ĠT ): ĠList < T > ĊĊĠĠĠ Ġfun Ġprint Name (): ĠString Ġ= Ġthis :: class . java . simple Name Ċ } Ċ Ċ fun Ġ< R > ĠR . to BaseModel (): ĠBase Model < R > Ġ{ ĊĠĠĠ Ġreturn Ġobject Ġ: ĠBase Model < R >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget (): ĠR Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis @ to BaseModel ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġto List ( var arg Ġitems : ĠR ): ĠList < R > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }