Kotlin-类

构造函数

Java

final File file = new File("file.txt");

Kotlin

val file = File("file.txt")

Java

public final class User {
}

Kotlin

class User

公开类

Java

public class User {
}

Kotlin

open class User

属性类

Java

final class User {
     private final String name;

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

     public String getName() {
         return name;
     }
 }

Kotlin

class User(val name: String)

有参数的构造函数

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

class User(var name: String)

构造函数中的可选参数

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

class User(var name: String, var lastName: String = "")

对类中参数赋值

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

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

抽象类

Java

public abstract class Document{
   public abstract int calculateSize();
}

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

    }
}

Kotlin

abstract class Document {
    abstract fun calculateSize(): Int
}

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

    }
}

单例类

Java

public class Document {
   private static final Document INSTANCE = new Document();

   public static Document getInstance(){
       return INSTANCE;
   }

 }
 

Kotlin

object Document {

}

扩展类

Java

public class ByteArrayUtils {
      public static String toHexString(byte[] data) {

      }
  }

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

Kotlin

fun ByteArray.toHex() : String {

}

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

内部类

Java

public class Documment {

    class InnerClass {

    }

}

Kotlin

class Document {
    inner class InnerClass
}

嵌套类

Java

public class Documment {

    public static class InnerClass {

    }

}

Kotlin

class Document {

    class InnerClass

}

接口

Java

public interface Printable {
    void print();
}

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

    }
}

Kotlin

interface Printable{
    fun print()
}

class Document : Printable{
    override fun print() {

    }
}

相关推荐

  1. Kotlin

    2024-02-05 02:46:03       33 阅读
  2. Kotlin-

    2024-02-05 02:46:03       30 阅读
  3. Kotlin 数据

    2024-02-05 02:46:03       40 阅读
  4. Kotlin 枚举

    2024-02-05 02:46:03       41 阅读
  5. Kotlin 派生

    2024-02-05 02:46:03       35 阅读
  6. Kotlin的数据

    2024-02-05 02:46:03       39 阅读
  7. kotlin调用文件

    2024-02-05 02:46:03       6 阅读
  8. Kotlin 密封与接口

    2024-02-05 02:46:03       40 阅读
  9. kotlin data clas 数据

    2024-02-05 02:46:03       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-05 02:46:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-05 02:46:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-05 02:46:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-05 02:46:03       20 阅读

热门阅读

  1. 1162. 地图分析

    2024-02-05 02:46:03       36 阅读
  2. 软件测试按照开发阶段划分5大类

    2024-02-05 02:46:03       30 阅读
  3. require.context 与 import.meta.glob

    2024-02-05 02:46:03       31 阅读
  4. 突破编程_C++_面试(基础知识(5))

    2024-02-05 02:46:03       29 阅读
  5. vue+springboot项目开发,使用MySQL示例数据库sakila

    2024-02-05 02:46:03       34 阅读
  6. MySQL十部曲之七:InnoDB索引及其优化措施

    2024-02-05 02:46:03       36 阅读
  7. day19 初始HTML

    2024-02-05 02:46:03       33 阅读
  8. NumPy基础之一维数组获取和修改元素

    2024-02-05 02:46:03       31 阅读
  9. 【开源软件的影响力】浅谈 MySQL 的影响力

    2024-02-05 02:46:03       34 阅读