zoukankan      html  css  js  c++  java
  • scala之伴生对象说明

    在scala中伴生类和伴生对象一般是同时存在的,特点:一个为class,一个为object, 其名称是相同的。 在伴生类使用静态方法,伴生对象中定义动态方法。

    1、 定义伴生类

    package cn.qianfeng
    
    object demo5_object {
        def main(args: Array[String]): Unit = {
    
        }
    
    }
    
    class Tearch(name:String, age:Int, course:String){ // 伴生类
        private val ta = "liming"  //私有成员
        def show(): Unit ={  
            println(s"姓名 = ${name}, 年龄 = ${age}, 课程 = ${course}")
        }
    }
    
    object Tearch{  // 伴生对象
    
    }

    2、编写伴生对象

         在伴生对象中, 使用apply方法将伴生对象进行重写

    package cn.qianfeng
    
    object demo5_object {
        def main(args: Array[String]): Unit = {
    
        }
    
    }
    
    class Tearch(name:String, age:Int, course:String){ // 伴生类
        private val ta = "liming"
        def show(): Unit ={
            println(s"姓名 = ${name}, 年龄 = ${age}, 课程 = ${course}")
        }
    }
    
    object Tearch{ // 伴生对象
        def apply(name:String, age:Int): Tearch ={ // 对伴生类的重写,返回Tearch类对象
            val tea = new Tearch(name, age, null)
            println(tea.ta) // 可访问伴生类中的成员
            tea
        }
    
        def ttt: Unit ={  // 静态方法
            println("三人行")
        }
    }

     3、调用代码

    package cn.qianfeng
    
    object demo5_object {
        def main(args: Array[String]): Unit = {
            val  te = Tearch("kongzhagen", 35)  // 初始化伴生对象
            te.show       // 调用伴生类中的方法
            Tearch.ttt    // 调用伴生对象中的静态方法
        }
    }
    
    class Tearch(name:String, age:Int, course:String){ // 伴生类
        private val ta = "liming"
        def show(): Unit ={
            println(s"姓名 = ${name}, 年龄 = ${age}, 课程 = ${course}")
        }
    }
    
    object Tearch{ // 伴生对象
        def apply(name:String, age:Int): Tearch ={ // 对伴生类的重构
            val tea = new Tearch(name, age, null)
            println(tea.ta)
            tea
    
        }
    
        def ttt: Unit ={
            println("三人行")
        }
    }
  • 相关阅读:
    BasKet Note Pads 1.0 颁发
    为OpenOffice 2.4装置3D幻化结果
    Dolphin:KDE 中的文件操持器
    MySQL Administrator:MySQL 数据库经督工具
    gISOMount-ISO 映像文件挂载东西
    Seahorse:让加密更等闲
    Gmail Notifier:又一个 Gmail 邮件通知步调
    EasyTAG-音频文件 Tag 编辑器
    KAlarm:看护提示挨次
    文泉驿点阵宋体 0.8(嬴政)正式发布
  • 原文地址:https://www.cnblogs.com/kongzhagen/p/15127798.html
Copyright © 2011-2022 走看看