interface ĠPr nt able { ĊĠĠĠ Ġfun Ġprint Name () Ċ } Ċ Ċ enum Ġclass ĠDay Time : ĠPr nt able { ĊĠĠĠ ĠDAY { ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprint Name (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" ÐĶ ÐµÐ½ÑĮ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, ĊĠĠĠ ĠN IGHT { ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprint Name (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" ÐĿ Ð¾Ñĩ ÑĮ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠHuman Ġ{ ĊĠĠĠ Ġvar Ġtype : ĠInt ĊĠĠĠ Ġfun Ġlive () ĊĠĠĠ Ġfun Ġdie () Ġ{ Ġ// Ð´Ðµ ÑĦ Ð¾Ð» ÑĤ Ð½Ð°Ñı ĠÑĢÐµ Ð°Ð»Ð¸Ð· Ð°ÑĨÐ¸Ñı ĊĠĠĠĠĠĠĠ Ġprintln (" die ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠHuman 2 Ġ{ ĊĠĠĠ Ġfun Ġdie 2 ( some Num : ĠInt Ġ= Ġ 0 ) Ġ{ Ġ// Ð´Ðµ ÑĦ Ð¾Ð» ÑĤ Ð½Ð°Ñı ĠÑĢÐµ Ð°Ð»Ð¸Ð· Ð°ÑĨÐ¸Ñı ĊĠĠĠĠĠĠĠ Ġprintln (" die " Ġ+ Ġsome Num ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ // Ðĵ Ð» Ð°Ð² Ð½Ð¾Ðµ ĠÐ¾ÑĤ Ð»Ð¸Ñĩ Ð¸Ðµ ĠÐ¸Ð½ ÑĤÐµÑĢ ÑĦ ÐµÐ¹ Ñģ Ð¾Ð² ĠÐ¾ÑĤ ĠÐ° Ð± ÑģÑĤ ÑĢÐ°Ð º ÑĤ Ð½ÑĭÑħ ĠÐºÐ»Ð°ÑģÑģ Ð¾Ð² ĠÐ·Ð°Ðº Ð»ÑİÑĩ Ð°ÐµÑĤÑģÑı ĠÐ² Ċ // ĠÐ½ ÐµÐ² Ð¾Ð· Ð¼Ð¾Ð¶ Ð½Ð¾ÑģÑĤÐ¸ ĠÑħ ÑĢÐ°Ð½ ÐµÐ½Ð¸Ñı ĠÐ¿ÐµÑĢ ÐµÐ¼ ÐµÐ½ Ð½ÑĭÑħ ĠÑįÐº Ð· ÐµÐ¼ Ð¿ Ð»Ñı ÑĢÐ¾Ð² . Ċ Ċ // ÐĲ Ð± ÑģÑĤ ÑĢÐ°Ð º ÑĤ Ð½ÑĭÐµ ĠÐºÐ»Ð°ÑģÑģ Ñĭ Ġ- ĠÑįÑĤÐ¾ ĠÐºÐ»Ð°ÑģÑģ Ñĭ , ĠÐ¾Ð¿ ÑĢÐµÐ´ÐµÐ» ÐµÐ½ Ð½ÑĭÐµ ĠÑģ ĠÐ¼Ð¾Ð´ Ð¸ÑĦ Ð¸Ðº Ð°ÑĤÐ¾ÑĢ Ð¾Ð¼ Ġabstract . Ċ // Ðŀ ÑĤ Ð»Ð¸Ñĩ Ð¸ÑĤÐµÐ»ÑĮ Ð½Ð¾Ð¹ ĠÐ¾Ñģ Ð¾Ð± ÐµÐ½ Ð½Ð¾ÑģÑĤ ÑĮÑİ ĠÐ° Ð± ÑģÑĤ ÑĢÐ°Ð º ÑĤ Ð½ÑĭÑħ ĠÐºÐ»Ð°ÑģÑģ Ð¾Ð² ĠÑı Ð²Ð»Ñı ÐµÑĤÑģÑı ĠÑĤÐ¾ , ĠÑĩÑĤÐ¾ ĠÐ¼Ñĭ ĠÐ½Ðµ Ċ // Ð¼Ð¾Ð¶ ÐµÐ¼ ĠÑģÐ¾Ð·Ð´ Ð°ÑĤÑĮ ĠÐ¾Ð±ÑĬÐµÐºÑĤ ĠÐ¿Ð¾Ð´ Ð¾Ð± Ð½Ð¾Ð³Ð¾ ĠÐºÐ»Ð°ÑģÑģ Ð° . Ċ abstract Ġclass ĠM am mal ia ( open Ġvar Ġname : ĠString ){ ĊĠĠĠ Ġfun Ġhello (){ ĊĠĠĠĠĠĠĠ Ġprintln (" I Ġam Ġ$ name ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġvar Ġa : ĠInt Ġ= Ġ 5 ĊĠĠĠ Ġabstract Ġfun Ġhello 2 () Ċ } ĊĊ Ċ // open ĠÐ³ Ð¾Ð² Ð¾ÑĢ Ð¸ÑĤ , ĠÑĩÑĤÐ¾ ĠÐ¼Ð¾Ð¶Ð½Ð¾ ĠÐ½Ð° ÑģÐ» ÐµÐ´ Ð¾Ð² Ð°ÑĤÑĮÑģÑı Ċ open Ġclass ĠPerson (_ name : ĠString ): ĠM am mal ia (_ name ), ĠHuman , ĠHuman 2 Ġ{ ĊĠĠĠ Ġoverride Ġvar Ġtype : ĠInt Ġ= Ġ 4 ĊĊĠĠĠ Ġoverride Ġvar Ġname : ĠString Ġ= Ġ" Tom " ĊĊĠĠĠ Ġinternal Ġval Ġis Male Ġ= Ġfalse Ġ// ĠÐ¿ÐµÑĢ ÐµÐ¼ ÐµÐ½ Ð½Ð°Ñı ĠÐ²Ð¸Ð´ Ð½Ð° ĠÐ² ĠÐ¿ÑĢÐµÐ´ ÐµÐ» Ð°Ñħ ĠÐ¼Ð¾Ð´ Ñĥ Ð»Ñı ĊĊĠĠĠ Ġpublic Ġvar Ġage : ĠInt Ġ= Ġ 1 8 ĊĠĠĠĠĠĠĠ Ġpublic Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif (( value > 0 ) Ġand Ġ( value Ġ< 1 1 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpublic Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfield ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġinit { ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ_ name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ÐĴ ÑĤÐ¾ÑĢ Ð¸Ñĩ Ð½ÑĭÐ¹ ĠÐºÐ¾Ð½ ÑģÑĤ ÑĢÑĥÐº ÑĤÐ¾ÑĢ , ĠÐ¼Ñĭ ĠÐ¾Ð± ÑıÐ· Ð°Ð½ Ñĭ ĠÐ²Ñĭ Ð· Ð² Ð°ÑĤÑĮ ĠÐ¿ÐµÑĢ Ð² Ð¸Ñĩ Ð½ÑĭÐ¹ ĠÐºÐ¾Ð½ ÑģÑĤ ÑĢÑĥÐº ÑĤÐ¾ÑĢ ĊĠĠĠ Ġconstructor (_ name : ĠString , Ġ_ age : ĠInt ) Ġ: Ġthis (_ name ){ ĊĠĠĠĠĠĠĠ Ġage Ġ= Ġ_ age ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsay Hello (){ ĊĠĠĠĠĠĠĠ Ġprintln (" Hello ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Info () Ġ: ĠString { ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Name : Ġ$ name Ġ ĠAge : Ġ$ age " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlive () Ġ{ ĊĠĠĠĠĠĠĠ Ġprint (" live ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhello 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġprint (" hello 2 ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠEmployee : ĠPerson { ĊĠĠĠ Ġvar Ġcompany : ĠString =" undefined " ĊĊĠĠĠ Ġ// super Ġ- ĠÐ²Ñĭ Ð· Ð¾Ð² ĠÐºÐ¾Ð½ ÑģÑĤ ÑĢÑĥÐº ÑĤÐ¾ÑĢ Ð° ĠÑĢ Ð¾Ð´ Ð¸ÑĤÐµ Ð»Ñı ĊĠĠĠ Ġconstructor ( name : ĠString , Ġcomp : String ) Ġ: Ġsuper ( name ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcompany Ġ= Ġcomp ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġnull Test () Ġ{ ĊĠĠĠ Ġvar Ġn Ġ= Ġnull ĊĊĠĠĠ Ġval Ġd Ġ: ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġname Ġ: ĠString ? Ġ Ġ= Ġ" Tom " ĊĠĠĠ Ġvar ĠfirstName : ĠString Ġ= Ġname Ġ?: Ġ"" ĊĠĠĠ Ġ// if ( name != null ){ ĊĠĠĠ Ġ// ĠĠĠ ĠfirstName Ġ= Ġname ĊĠĠĠ Ġ//} ĊĊĠĠĠ Ġ// Ðķ ÑģÐ»Ð¸ ĠÐ¾Ð¿ ÐµÑĢ Ð°Ð½Ð´ ĠÑĢÐ°Ð ² ÐµÐ½ Ġnull , ĠÑĤÐ¾ ĠÐ³ ÐµÐ½ ÐµÑĢ Ð¸ ÑĢÑĥ ÐµÑĤÑģÑı ĠÐ¸ Ñģ ÐºÐ»ÑİÑĩ ÐµÐ½Ð¸Ðµ Ġkotlin . Kotlin NullPointerException ĊĠĠĠ Ġval Ġid : ĠString Ġ= Ġname !! ĊĠĠĠ Ġprintln ( id ) ĊĊĠĠĠ Ġval Ġlength Ġ: Int Ġ= Ġname !!. length Ċ } Ċ Ċ fun Ġtest Exp () Ġ{ ĊĠĠĠ Ġtry { ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ: ĠInt Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġz Ġ: ĠInt Ġ= Ġ 0 Ġ/ Ġx ĊĠĠĠĠĠĠĠ Ġprintln (" z Ġ= Ġ$ z ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch ( e : ĠException ){ ĊĠĠĠĠĠĠĠ Ġprintln (" Exception ") ĊĠĠĠĠĠĠĠ Ġprintln ( e . message ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfinally { ĊĠĠĠĠĠĠĠ Ġprintln (" Program Ġhas Ġbeen Ġfinished ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// //////////////// / ĊĠĠĠ Ġ/* try Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnums Ġ= ĠarrayOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ) ĊĠĠĠĠĠĠĠ Ġprintln ( nums [ 6 ]) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch ( e : ArrayIndex OutOfBoundsException ){ ĊĠĠĠĠĠĠĠ Ġprintln (" Out Ġof Ġbound Ġof Ġarray ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠ Ġprintln ( e . message ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ*/ ĊĠĠĠ Ġ// //////////////// // ĊĠĠĠ Ġ/* ĊĠĠĠ Ġfun Ġfactor ial ( n : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( n Ġ< Ġ 1 ) Ġthrow Ġ ĠException (" Input Ġnumber Ġmust Ġbe Ġmore Ġthan Ġzero ") ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 1 .. n ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ*= Ġi ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġa : ĠInt ? Ġ= Ġtry Ġ{ Ġfactor ial ( 5 ) Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ Ġnull Ġ} ĊĠĠĠ Ġ*/ Ċ Ċ } Ċ Ċ class ĠAccount (_ sum : ĠInt ) Ġ{ ĊĠĠĠ Ġvar Ġsum Ġ= Ġ_ sum ĊĊĠĠĠ Ġin fix Ġfun Ġput ( amount : ĠInt ): ĠUnit { ĊĠĠĠĠĠĠĠ Ġthis . sum Ġ= Ġthis . sum Ġ+ Ġamount ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġin fix () Ġ{ ĊĠĠĠ Ġvar Ġacc Ġ= ĠAccount ( 3 4 0 ) ĊĠĠĠ Ġacc . put ( 3 0 0 ) ĊĠĠĠ Ġprintln ( acc . sum ) ĊĠĠĠ Ġacc Ġput Ġ 3 0 0 ĊĠĠĠ Ġprintln ( acc . sum ) Ċ } Ċ Ċ fun Ġmain ( a : ĠInt ) Ġ{ ĊĠĠĠ Ġvar Ġp Ġ= ĠPerson (" Bob ") ĊĠĠĠ Ġprint ( p ) ĊĠĠĠ Ġp . die 2 ( some Num Ġ= Ġ 2 ) ĊĠĠĠ Ġreturn ĊĠĠĠ Ġ// null Test () ĊĠĠĠ Ġ// test Exp () ĊĠĠĠ Ġ// infix () Ċ }