var tempRecipe: RecipeTemplate? = null
означает, что tempRecipe
ссылается на объект, который является RecipeTemplate
var tempRecipe2 = RecipeTemplate::class
означает, что tempRecipe2
является ссылкой на объект, который является KClass
Поскольку ссылка не совпадает:
На tempRecipe
вы можете вызывать все методы, которые есть у RecipeTemplate
. На tempRecipe2
вы не можете. Но вы можете вызвать метод cast
, например, потому что KClasses
имеет этот метод.