Lynda-3


Java InterOperability

*********************************
Use Java from Kotlin
*********************************

1. Java GETTER and SETTER class (TestClass.java)

--------------
package javas;

public class TestClass {

    public TestClass(String name, String kind, Integer weight) {
        this.name = name;
        this.kind = kind;
        this.weight = weight;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getKind() {
        return kind;
    }

    public void setKind(String kind) {
        this.kind = kind;
    }

    public Integer getWeight() {
        return weight;
    }

    public void setWeight(Integer weight) {
        this.weight = weight;
    }

    String name;
    String kind;
    Integer weight;



    public String showData() {
        return name +" is a " + kind + " and weighs " + weight + "crore";
    }
}
-------------

2. Kotlin File (MainClass.kt)

----------------
fun main(args: Array<String>) {


    val data = TestClass("India", "country", 133)
    print(data.showData())
    // Can change value    val data1 = TestClass("Uttar Pradesh", "State", 23)
    print(data.showData())

    data.name  = "Australia"    data.kind = "Foreign"
    print(data.showData())

}
---------------


*********************************
Use Kotlin from Java
*********************************

Note : Kotlin compiler automatically create GETTER and SETTER, so developer no need
to create

Java class
-----------------------------------
public class JavaClass {

    public static void main(String[] args){

        KotlinClass kotlinClass = new KotlinClass("India", "Pride");

        System.out.println(kotlinClass.getName());
    }
}
-------------

2. Kotlin File (KotlinClass.kt)

----------------
class KotlinClass internal constructor( var name : String, var kind : String){

//    init {//        println("Data-> $name $kind")//    Do some stuff here//    }
//    constructor(name : String, kind : String, weight : Int):this(name, kind)

}
---------------

--->Calling no class method


--------------------
1. Kotlin Class
--------------------

fun getTemp(): String{

    return  "Current temperature of delhi is 12 degree"}

--------------------
2. Java Class
--------------------

public class JavaClass {

    public static void main(String[] args){

        System.out.println(KotlinClassKt.getTemp());

    }
}



22

Comments

Popular Posts