Call of kotlin data class
kotlin Code:
package com.tianfu.kotlin
/**
* age Member annotations cannot have get and set methods. They can only assign values directly and cannot declare private
*/
data class Person(var name:String,@JvmField var age:Int)
java code
import com.tianfu.kotlin.Person;
public class PersonMain {
public static void main(String[] args) {
Person person=new Person("Andy",27);
System.out.println(person.getName()+" is "+person.age);//There are no get and set methods for age here
person.setName("Boby");
person.age=37;
System.out.println(person.getName()+" is "+person.age);
// person.setName(null); you can't leave it empty here. An error will be reported when running
}
}
result:
Call of object simple profit mode class in Kotlin
kotlin Code:
package com.tianfu.kotlin
object Singleton {
fun syhello(){
println("The Ming moon in Qin Dynasty")
}
}
java code
import com.tianfu.kotlin.Singleton;
public class AccessToObject {
public static void main(String[] args) {
Singleton.INSTANCE.syhello();
}
}
Calling file class in Kotlin
kotlin code
package com.tianfu.kotlin
/**
* kotlinFile The File will be compiled into the corresponding class
*/
fun printHello(){
println("Only by crossing the sea can we show the true qualities of a hero")
}
fun main(args: Array<String>) {
printHello()
}
Calling Java code
import com.tianfu.kotlin.PackageKt;
public class CallPackageMethod {
public static void main(String[] args) {
PackageKt.printHello();//Compile the kotlinfile of package into class, then adjust the method.
}
}
Call of jvm annotation, flexible transfer of parameters
kotlin annotation code
package com.tianfu.kotlin
class OverLoads {
@JvmOverloads//If you add this annotation, the method parameters will have default values. Otherwise, all three parameters will be passed in java
fun overloaded(a:Int,b:Int=0,c:Int=1){
println("$a,$b,$c")
}
}
Java call code
import com.tianfu.kotlin.OverLoads;
public class AccessToOverLoads {
public static void main(String[] args) {
OverLoads overLoads=new OverLoads();
overLoads.overloaded(10,11,12);//Methods with three parameters
overLoads.overloaded(13);//b. C use the default value
overLoads.overloaded(12,13);//c use the default value
}
}
String string null call
kotlin code
package com.tianfu.kotlin
fun String.notEmpty():Boolean{//There are no parameters
return this !=""
}
Java code to achieve null, direct transfer parameters
import com.tianfu.kotlin.ExtensionMethodKt;
public class CallExtensionMethod {
public static void main(String[] args) {
System.out.println(ExtensionMethodKt.notEmpty("Blue sky and misty rain"));
}
// Results: true
}