Kotlin中object的使用
一、object
只有一个实例的类
不能自定义构造方法
可以实现接口、继承父类
本质上就是单例模式最基本的实现
二、看一下例子
先看看kotlin中的单例
package net.println.kotlin.chapter4.objects
/**
* @author:wangdong
* @description:kotlin中object的使用
*/
/**定义一个司机类*/
class Driver
/**定一个一个监听的接口*/
interface OnExternalDriverMountListener{
fun onMount(driver: Driver)
fun onUnmount(driver: Driver)
}
/**定义一个播放器的类*/
abstract class Player
/**使用object定义一个类,继承播放器父类,实现监听接口*/
object MusicPlayer: Player(), OnExternalDriverMountListener{
override fun onMount(driver: Driver) {
}
override fun onUnmount(driver: Driver) {
}
val state : Int = 0
fun play(url : String){
}
fun stop(){
}
}
看一下java中的单例的实现
package net.println.kotlin.chapter4.objects;
/**
* @author:wangdong
* @description:Java中一个单例的实现
*/
public class MusicPlayerJava {
public static MusicPlayerJava INSTANCE = new MusicPlayerJava();
private MusicPlayerJava(){}
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
kotlin 类及其成员的可见性
一、首先来看一个Kotlin和Java的比较 Kotlin Java 比较 private private 只有类内部的类和方法可以访问 protected protected 类的子类可见 —— default 相同的包内可以访问 intelnal – 相同的模块内可以访问 public public 随处可见 二、看一个小小的例子 package net.println.kotlin.chapter4 /** * @author:wangdong * @description: */ class House class Flower /** * 当类里面的成员加了private,对外是不可见的 */ class Countryard{ private val house = House() private val flower = Flower() } /**紫禁城。现在大家都能看*/ class ForbiddenCity{ val house = arrayOf(House(), House()) val flower = arrayOf(Flower(),Flower()) ...
-
下一篇
思想:java中,父类的方法中传入的形参的数据类型是泛型,子类的方法的形参想只要一种确定的数据类型,子类该如何做呢?
解决问题的思想: /* * 思想: * java中,父类的方法传入的形参的数据类型是泛型,子类的方法的形参想只要一种确定的数据类型,子类该如何做呢? * 答:那么子类可以重新写一个方法,形参传入的是一种想要的数据类型,而子类方法里面调用的还是父类的方法。 * * 示例代码如下: * * class Hashtalbe<K, V> { * public V put(K key, V value) { * ... * } *} * * class Properties extends Hashtable { * public V setProperty(String key, String value) { * return put(key, value); * } * } */ 我的GitHub地址: https://github.com/heizemingjun 我的博客园地址: http://www.cnblogs.com/chenmingjun 我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun Copyright ©2018...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8编译安装MySQL8.0.19
- MySQL数据库在高并发下的优化方案
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,8上快速安装Gitea,搭建Git服务器