Sunteți pe pagina 1din 7

9/17/2019 From Java to Kotlin

From Java to Kotlin

Basic Functions Classes

CLASSES

Constructor Call

Java Kotlin
final File file = new File("file.txt"); val file = File("file.txt")

Class

Java Kotlin
public final class User { class User
}

Open Class

Java Kotlin
https://fabiomsr.github.io/from-java-to-kotlin/classes.html 1/7
9/17/2019 From Java to Kotlin

public class User { open class User


}

Final Attributes

Java Kotlin
final class User { class User(val name: String)
private final String name;

public User(String name) {


this.name = name;
}

public String getName() {


return name;
}
}

Primary Constructor

Java Kotlin
final class User { class User(var name: String)
private String name;

public User(String name) {


this.name = name;
}

public String getName() {


return name;

https://fabiomsr.github.io/from-java-to-kotlin/classes.html 2/7
9/17/2019 From Java to Kotlin
}

public void setName(String name) {


this.name = name;
}
}

Optional Arguments in Constructors

Java Kotlin
final class User { class User(var name: String, var lastName: String = "")
private String name;
private String lastName;

public User(String name) {


this(name, "");
}

public User(String name, String lastName) {


this.name = name;
this.lastName = lastName;
}

// And Getters & Setters


}

Properties

Java Kotlin
public class Document { class Document{
private String id = "00x"; var id : String = "00x"

https://fabiomsr.github.io/from-java-to-kotlin/classes.html 3/7
9/17/2019 From Java to Kotlin
set(value) {
public String getId() { if(value.isNotEmpty()) field = value
return id; }
} }

public void setId(String id) {


if(id != null && !id.isEmpty()) {
this.id = id;
}
}
}

FUNCTIONS

Abstract Class

Java Kotlin
public abstract class Document{ abstract class Document {
public abstract int calculateSize(); abstract fun calculateSize(): Int
} }

public class Photo extends Document{ class Photo : Document() {


@Override override fun calculateSize(): Int {
public int calculateSize() {
}
} }
}

https://fabiomsr.github.io/from-java-to-kotlin/classes.html 4/7
9/17/2019 From Java to Kotlin

Singleton

Java Kotlin
public class Document { object Document {
private static final Document INSTANCE = new Document();
}
public static Document getInstance(){
return INSTANCE;
}

Extensions

Java Kotlin
public class ByteArrayUtils { fun ByteArray.toHex() : String {
public static String toHexString(byte[] data) {
}
}
} val dummyData = byteArrayOf()
val hexValue = dummyData.toHex()
final byte[] dummyData = new byte[10];
final String hexValue = ByteArrayUtils.toHexString(dummyData);

Inner Class

Java Kotlin
https://fabiomsr.github.io/from-java-to-kotlin/classes.html 5/7
9/17/2019 From Java to Kotlin

public class Documment { class Document {


inner class InnerClass
class InnerClass { }

Nested Class

Java Kotlin
public class Documment { class Document {

public static class InnerClass { class InnerClass

} }

Interface

Java Kotlin
public interface Printable { interface Printable{
void print(); fun print()
} }

public class Document implements Printable { class Document : Printable{


@Override override fun print() {
public void print() {
}
}
https://fabiomsr.github.io/from-java-to-kotlin/classes.html 6/7
9/17/2019 From Java to Kotlin
}
}

https://fabiomsr.github.io/from-java-to-kotlin/classes.html 7/7

S-ar putea să vă placă și