package Ġusage Ċ Ċ import Ġjav ap ackage . one . Java Class One Ċ Ċ class ĠKotlin Class One Ġ{ ĊĠĠĠ Ġfun Ġupdate ( java Class One : ĠJava Class One ) Ġ{ ĊĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠKotlin Class Two Ċ Ċ fun Ġusage () Ġ{ ĊĠĠĠ Ġval Ġjava Class Ġ= ĠJava Class One () ĊĠĠĠ Ġ// Ġexpect Ġ" val Ġtwo Ġ= ĠKotlin Class Two ()" Ġafter Ġkotlin Class One , ĠK T - 4 0 8 6 7 ĊĠĠĠ Ġjava Class . app < caret > ly ( Kotlin Class One (), ĠKotlin Class Two ()) Ċ } Ċ val Ġkotlin One Ġ= ĠKotlin Class One () Ċ val Ġkotlin Two Ġ= ĠKotlin Class Two () Ċ Ċ fun Ġa () Ġ{ ĊĠĠĠ ĠJava Class One (). apply ( kotlin One , Ġkotlin Two ) ĊĊĠĠĠ Ġval Ġd Ġ= ĠJava Class One () ĊĠĠĠ Ġd . apply ( kotlin One , Ġkotlin Two ) ĊĊĠĠĠ Ġd . let Ġ{ ĊĠĠĠĠĠĠĠ Ġit . apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġd . also Ġ{ ĊĠĠĠĠĠĠĠ Ġit . apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwith ( d ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwith ( d ) Ġout @{ ĊĠĠĠĠĠĠĠ Ġwith ( 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ out . apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġa 2 () Ġ{ ĊĠĠĠ Ġval Ġd : ĠJava Class One ? Ġ= Ġnull ĊĠĠĠ Ġd ?. apply ( kotlin One , Ġkotlin Two ) ĊĊĠĠĠ Ġd ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġit . apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġd ?. also Ġ{ ĊĠĠĠĠĠĠĠ Ġit . apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwith ( d ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ?. apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwith ( d ) Ġout @{ ĊĠĠĠĠĠĠĠ Ġwith ( 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ out ?. apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġa 3 () Ġ{ ĊĠĠĠ Ġval Ġd : ĠJava Class One ? Ġ= Ġnull ĊĠĠĠ Ġval Ġa 1 Ġ= Ġd ?. apply ( kotlin One , Ġkotlin Two ) ĊĊĠĠĠ Ġval Ġa 2 Ġ= Ġd ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġit . apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġa 3 Ġ= Ġd ?. also Ġ{ ĊĠĠĠĠĠĠĠ Ġit . apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġa 4 Ġ= Ġwith ( d ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ?. apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġa 5 Ġ= Ġwith ( d ) Ġout @{ ĊĠĠĠĠĠĠĠ Ġwith ( 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ out ?. apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġa 4 () Ġ{ ĊĠĠĠ Ġval Ġd : ĠJava Class One ? Ġ= Ġnull ĊĠĠĠ Ġd ?. apply ( kotlin One , Ġkotlin Two )?. convert ToInt ()?. dec () ĊĊĠĠĠ Ġval Ġa 2 Ġ= Ġd ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġit . apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġa 2 ?. convert ToInt ()?. to Long () ĊĊĠĠĠ Ġd ?. also Ġ{ ĊĠĠĠĠĠĠĠ Ġit . apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ?. apply ( kotlin One , Ġkotlin Two ) ĊĊĠĠĠ Ġval Ġa 4 Ġ= Ġwith ( d ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis ?. apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠ Ġ} ?. convert ToInt () ĊĊĠĠĠ Ġval Ġa 5 Ġ= Ġwith ( d ) Ġout @{ ĊĠĠĠĠĠĠĠ Ġwith ( 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ out ?. apply ( kotlin One , Ġkotlin Two ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ?. convert ToInt () ĊĊĠĠĠ Ġval Ġa 6 Ġ= Ġa 4 ?. let Ġ{ Ġout Ġ-> Ġa 5 ?. let Ġ{ Ġout Ġ+ Ġit Ġ} Ġ} Ċ } Ċ Ċ fun ĠJava Class One . b (): ĠInt ? Ġ= Ġapply ( kotlin One , Ġkotlin Two ). convert ToInt () Ċ fun ĠJava Class One . c (): ĠInt Ġ= Ġthis . apply ( kotlin One , Ġkotlin Two ). convert ToInt () Ċ fun Ġd ( d : ĠJava Class One ) Ġ= Ġd . apply ( kotlin One , Ġkotlin Two ). convert ToInt () Ċ