Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Kotlin constructor with super class

Tags:

kotlin

Any way I try, be it primary constructors or secondary, I can't figure out how to declare a new class with a super class and a constructor in kotlin.

class myPanel : JPanel {
    myPanel() : super() {

    }
}

This is how i would most like t do it but it gives an error expecting member declaration.

class myPanel() : JPanel() {
    {
        ...
    }
}

this is how I thought a primary constructor looked but it gives the same error. Searching the internet hasn't been helpful and all I could find was the second example.

So, what are all of the valid ways of creating a class with a super class and its one constructor?

like image 598
Grayden Hormes Avatar asked Nov 28 '22 23:11

Grayden Hormes


2 Answers

Kotlin's constructor is contained in an init block

class Test : SuperClass() {
    init {
      // Do constructor stuff here
    }
}

More information can be found in the Kotlin reference on classes: https://kotlinlang.org/docs/reference/classes.html#constructors

like image 158
Kiskae Avatar answered Dec 04 '22 00:12

Kiskae


In addition to above answer. If super class have any parameter pass it like this,

class Dog(name: String, color: String): Animal(name, color){
    init {
        // Do Constructor tasks here...
    }
}
like image 31
Md Samiul Alim Sakib Avatar answered Dec 04 '22 01:12

Md Samiul Alim Sakib