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() {

    }
}
相关推荐
灯火不休ᝰ2 小时前
[kotlin] 从Java到Kotlin:掌握基础语法差异的跃迁指南
java·kotlin·安卓
モンキー・D・小菜鸡儿7 小时前
kotlin 推牌九(麻将)小游戏
kotlin·小游戏
JMchen1238 小时前
跨平台相机方案深度对比:CameraX vs. Flutter Camera vs. React Native
java·经验分享·数码相机·flutter·react native·kotlin·dart
DokiDoki之父1 天前
边写软件边学kotlin(一):Kotlin语法初认识:
android·开发语言·kotlin
fundroid2 天前
Kotlin 泛型进阶:in、out 与 reified 实战
android·开发语言·kotlin
JMchen1233 天前
现代Android图像处理管道:从CameraX到OpenGL的60fps实时滤镜架构
android·图像处理·架构·kotlin·android studio·opengl·camerax
JMchen1234 天前
Android CameraX深度解析:从Camera1到CameraX的相机架构演进
android·java·数码相机·架构·kotlin·移动开发·android-studio
倔强的石头1064 天前
【Linux指南】进程控制系列(五)实战 —— 微型 Shell 命令行解释器实现
linux·运维·kotlin
Hz4535 天前
Android Jetpack核心组件协同实战:Navigation 3.X+Lifecycle+Flow+Hilt的架构革新
android·kotlin
JMchen1235 天前
Android音频编码原理与实践:从AAC到Opus,深入解析音频编码技术与移动端实现
android·经验分享·学习·kotlin·android studio·音视频·aac