Kotlin pozwala na stwierdzenie, wszelkiego rodzaju, bez ciała, na przykład:
interface Interface;
class Class;
annotation class Annotation;
sealed class SealedClass;
data class DataClass(var value: String);
object ObjectClass;
enum class EnumClass;
class CompanionClass {
companion object
}
wykorzystanie poszczególnych definicji można opisać jak poniżej:
- interfejs - jako marker interface.
- adnotacja - opis adnotowanego typu ma pewne zdolności. np .: junit4
@Before
i @After
adnotacje.
- obiekt - często przedstawia się jako symbol lub blokadę lub symbol zastępczy i .etc. np:
synchronized(lock){ /*thread safe working*/ }
- klasa danych - szybko zdefiniować klasę Java POJO z
getters
, setters
? , equals
, , toString
i componentN
operatorów do destrukturyzacji w kotlinach.
- inne - nie mają znaczenia, po prostu są składnią języka.
To samo co "public class Empty {}" w Javie? – assylias