PGzxc

纸上得来终觉浅 绝知此事要躬行

概述

一般类和函数,只能使用具体的类型:要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的约束对代码的限制很大。而OOP的多态采用了一种泛化的机制,在SE5中,java引用了泛型。

泛型即"参数化类型"。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。

在Kotlin中,依然可以使用泛型,解耦类与函数与所用类型之间的约束,甚至是使用方法都与Java一致。

阅读全文 »

前言

Kotlin的密封类是Java中没有的新概念,并为此开辟了另一片可能性新的世界。
密封类允许你表达约束层次结构,其中对象只能是给定类型之一。也就是说,我们有一个具有特定数量的子类的类。最后,我们得到的结论是非常类似枚举的概念。所不同的是,在枚举中,我们每个类型只有一个对象;而在密封类中,同一个类可以拥有几个对象。

这种差异允许密封类的对象可以保持状态。这给我们带来一些优势,它也为函数性概念敞开了大门。

阅读全文 »

前言

Java中的构造函数在Kotlin中被称为构造器,Kotlin中使用关键字"constructor"声明构造器,kotlin的类能有一个主要的构造器与多个次要的构造器,也可以没有次构造器。主构造器出现在类名的后面参数是可选的。

阅读全文 »

说明

Kotlin中的接口与Java8非常相似。他们可以包含抽象方法的声明,以及方法实现。与抽象类不同,接口不能存在存储状态。他们可以具有属性,但这些属性必须是抽象的,或者提供存储器实现。

阅读全文 »
0%