当前位置: 首页 > news >正文

flash做导航网站动漫是如何制作出来的

flash做导航网站,动漫是如何制作出来的,镇海区建设交通局网站,编程软件下载手机版Kotlin对象表达式和对象声明 对象表达式 有时#xff0c;我们想要创建一个对当前类有些许修改的对象同时又不想重新声明一个子类。如果是Java#xff0c;可以用匿名内部类的概念来解决这个问题。kotlin的对象表达式和对象声明就是为了实现这一点(创建一个对某个类做了轻微改…Kotlin对象表达式和对象声明 对象表达式 有时我们想要创建一个对当前类有些许修改的对象同时又不想重新声明一个子类。如果是Java可以用匿名内部类的概念来解决这个问题。kotlin的对象表达式和对象声明就是为了实现这一点(创建一个对某个类做了轻微改动的类的对象且不需要去声明一个新的子类)。 对象表达式的格式 Object[: 若干个父类型中间用逗号分隔] 例如下例常见的通过对象表达式实现的将一个匿名内部类的对象用于方法的参数中 computer.addMouseListener(object : MouseAdapter() {override fun mouseClicked(e: MouseEvent) {// ...}override fun mouseRolled(e: MouseEvent) {// ...} }) 通过对象表达式可以越过类的定义直接得到一个对象 fun main(args: ArrayString) {val site object {var tips: String 谷歌大法好var url: String www.Google.com}println(site.tips)println(site.url) } 对应的控制台输出为 如果超类有构造器则需要传入合适的参数。多个超类在冒号之后使用逗号分隔大抵格式如下 open class BaseA(x: Int){public open val num: Int x }interface InterfaceB {...}val ab: A object : BaseA(1) , InterfaceB{override val num 15 } 用作类型的匿名对象只能在局部和私有声明中。如果使用匿名对象作为public函数的返回值或public属性的类型则函数或属性的实际类型实际为匿名类的超类或Any未声明任何超类。匿名对象添加的成员不能被访问。下面是一个官网的例子 class Demo{// 私有函数所以返回类型为匿名对象类型private fun foo() object {val x: String foo}// Public函数返回类型为Anyfun publicFoo() object {val x: String FOO}fun bar() {val x1: String foo().x // 有效val x2: String publicFoo().x // 提示错误无法引用x} } 对象声明 在Kotlin中使用 object 关键字来声明一个(单例)对象。这点跟Java是完全不一样的在Java中必须先有类然后才能new出该类的对象并生成实例也就是声明类和创建对象是两个分开的步骤并有先后次序。在Kotlin中我们可以使用object关键字在声明定义一个类的同时创建出一个对象这就是所谓的对象声明。 使用方法极其简单在 object 关键字后跟⼀个名称即可这样就直接声明了一个单例对象。 object DataProviderManager {fun registerDataProvider(provider: DataProvider) { // ……}val allDataProviders: CollectionDataProviderget() // …… } 要引⽤该对象直接使⽤其名称即可 DataProviderManager.registerDataProvider(……) 注意这里是单例当你定义两个不同的变量来获取这个对象时你会发现你并不能得到两个不同的变量如下例我们只对一个对象实例进行了属性更改但打印两个对象实例都会得到更改的属性 object WebSite {var url:String val web: String 谷歌大法好 } fun main(args: ArrayString) {var s1 WebSitevar s2 WebSites1.url www.Google.comprintln(s1.url)println(s2.url) } 对应的控制台输出为 与对象表达式不同的是当对象声明在另一个类的内部时这个对象并不能通过外部类的实例访问到该对象而只能通过类名来访问同样该对象也不能直接访问到外部类的方法和变量。 object WebSite {var web 谷歌大法好object DeskTop{var url www.Google.comfun showName(){print{desk legs $web} // 错误不能访问到外部类的方法和变量打印结果为Function0java.lang.String}} } fun main(args: ArrayString) {var site WebSitesite.DeskTop.url // 提示错误不能通过外部类的实例访问到该对象WebSite.DeskTop.url // 调用方式正确 } 伴生对象  跟Java不同在kotlin中类是没有static方法的。多数情况下Kotlin推荐的做法是使用包级别的函数作为静态方法。这里就引申除了另外一个关键字companion。 在类内部的对象声明可以用 companion 关键字标记这样它就与外部类关联在一起我们可以直接通过外部类访问到对象的内部元素。 class DemoClass {companion object Factory {fun create(): DemoClass DemoClass()} }val instance DemoClass.create() // 变量可直接访问到对象的内部元素 我们可以直接省略掉该对象的对象名然后使用 companion 替代需要声明的对象名 class DemoClass {companion object {} }val instance DemoClass.Companion 这里需要注意的是一个类里面只能声明一个内部关联对象即关键字 companion 只能使用一次。 伴生对象的成员看起来像其他语言的静态成员但在运行时他们仍然是真实对象的实例成员。在 JVM 平台如果使⽤ JvmStatic 注解你可以将伴⽣对象的成员⽣成为真正的静态⽅法和字段。 差异性 最后总结下对象表达式和对象声明之间有一个重要的语义差别 · 对象表达式是在使用他们的地方立即执行的 · 对象声明是在第一次被访问到时延迟初始化的 · 伴生对象的初始化是在相应的类被加载解析时与 Java 静态初始化器的语义相匹配。
http://www.w-s-a.com/news/218551/

相关文章:

  • 搭建直播网站需要怎么做做石材网站步骤
  • 移动网站如何做权重wordpress 统计字数 插件
  • 编写网站的软件百度指数教程
  • 网站改版建议策划书做设计什么兼职网站
  • 北京做兼职网站文创产品设计流程
  • 南阳做玉器网站wordpress 图片被缩小
  • 自己做网站卖衣服cms做网站容易不
  • 安徽安搜做的网站怎么样手机网站商城建设答辩问题
  • 分析不同网站的优缺点房产网站定制
  • 深圳工业设计大展2021论坛与网站做优化哪个更好
  • 什么网站做招聘比较好网络营销渠道管理
  • 网站建设选择什么模式淘宝网站可以做轮播吗
  • 山西免费网站制作乌市高新区建设局网站
  • 公司网站建设费用会计处理手机app免费下载
  • 网站的做网站的公司网站有些什么内容
  • 网站新类型wordpress 随机文章
  • 电商网站建设会计分录朝阳市网站公司
  • 正邦网站建设 优帮云百姓网征婚
  • 企业网站有哪些举几个例子端午节网站建设目的
  • 南京免费发布信息网站网站建设与管理职责
  • 无锡市建设培训中心网站企业vi设计是啥
  • 宿松网站建设推荐秒搜科技国家官方网站
  • 网站的服务器选择wordpress文章底部加分享
  • 天津专业的网站建设公司阿里云服务器 wordpress
  • 家教辅导培训网站建设中东跨境电商平台有哪些
  • 商城形式的网站需要多少钱做医药商城网站的公司吗
  • 贵阳网站设计zu97彩票创建网站
  • 网站建设与分工的论文足球世界排名
  • 网站首页添加标签如何用模板建站
  • 官方网站包括哪几个网站泰安的网站建设公司哪家好