Kotlin-类

构造函数

Java

java 复制代码
final File file = new File("file.txt");

Kotlin

Kotlin 复制代码
val file = File("file.txt")

Java

java 复制代码
public final class User {
}

Kotlin

Kotlin 复制代码
class User

公开类

Java

java 复制代码
public class User {
}

Kotlin

Kotlin 复制代码
open class User

属性类

Java

java 复制代码
final class User {
     private final String name;

     public User(String name) {
         this.name = name;
     }

     public String getName() {
         return name;
     }
 }

Kotlin

Kotlin 复制代码
class User(val name: String)

有参数的构造函数

Java

java 复制代码
final class User {
     private String name;

     public User(String name) {
         this.name = name;
     }

     public String getName() {
         return name;
     }

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

Kotlin

Kotlin 复制代码
class User(var name: String)

构造函数中的可选参数

Java

java 复制代码
final class User {
     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
 }

Kotlin

Kotlin 复制代码
class User(var name: String, var lastName: String = "")

对类中参数赋值

Java

java 复制代码
public class Document {
    private String id = "00x";

     public String getId() {
         return id;
     }

     public void setId(String id) {
         if(id != null && !id.isEmpty()) {
             this.id = id;
         }
     }
 }

Kotlin

Kotlin 复制代码
class Document{
    var id : String = "00x"
        set(value) {
            if(value.isNotEmpty())  field = value
        }
}

抽象类

Java

java 复制代码
public abstract class Document{
   public abstract int calculateSize();
}

public class Photo extends Document{
    @Override
    public int calculateSize() {

    }
}

Kotlin

Kotlin 复制代码
abstract class Document {
    abstract fun calculateSize(): Int
}

class Photo : Document() {
    override fun calculateSize(): Int {

    }
}

单例类

Java

java 复制代码
public class Document {
   private static final Document INSTANCE = new Document();

   public static Document getInstance(){
       return INSTANCE;
   }

 }
 

Kotlin

Kotlin 复制代码
object Document {

}

扩展类

Java

java 复制代码
public class ByteArrayUtils {
      public static String toHexString(byte[] data) {

      }
  }

  final byte[] dummyData = new byte[10];
  final String hexValue = ByteArrayUtils.toHexString(dummyData);

Kotlin

Kotlin 复制代码
fun ByteArray.toHex() : String {

}

val dummyData = byteArrayOf()
val hexValue = dummyData.toHex()

内部类

Java

java 复制代码
public class Documment {

    class InnerClass {

    }

}

Kotlin

Kotlin 复制代码
class Document {
    inner class InnerClass
}

嵌套类

Java

java 复制代码
public class Documment {

    public static class InnerClass {

    }

}

Kotlin

Kotlin 复制代码
class Document {

    class InnerClass

}

接口

Java

java 复制代码
public interface Printable {
    void print();
}

public class Document implements Printable {
    @Override
    public void print() {

    }
}

Kotlin

Kotlin 复制代码
interface Printable{
    fun print()
}

class Document : Printable{
    override fun print() {

    }
}
相关推荐
艾莉丝努力练剑3 小时前
时光织网:基于Rokid AI眼镜的家庭智能协同中枢设计与实现
大数据·人工智能·kotlin·rokid
用户69371750013848 小时前
17.Kotlin 类:类的形态(四):枚举类 (Enum Class)
android·后端·kotlin
用户69371750013849 小时前
16.Kotlin 类:类的形态(三):密封类 (Sealed Class)
android·后端·kotlin
年小个大10 小时前
优化App启动时间?startup-coroutine是什么?
性能优化·架构·kotlin
修炼者2 天前
Kotlin中的Flow流
android·kotlin
aqi002 天前
FFmpeg开发笔记(九十二)基于Kotlin的开源Android推流器StreamPack
android·ffmpeg·kotlin·音视频·直播·流媒体
饕餮争锋2 天前
Kotlin: [Internal Error] java.lang.NoSuchFieldError: FILE_HASHING_STRATEGY
java·kotlin
用户69371750013842 天前
14.Kotlin 类:类的形态(一):抽象类 (Abstract Class)
android·后端·kotlin
G_dou_3 天前
KMP & OpenHarmony 实现二分查找
kotlin·鸿蒙
方白羽3 天前
Android多层嵌套RecyclerView滚动
android·java·kotlin