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("三人行")
        }
    }
  • 相关阅读:
    汉语-词语:隐忍
    阿里云-ONS-Help-产品介绍-消息类型:事务消息
    阿里云-ONS-Help-产品介绍-消息类型:顺序消息
    阿里云-ONS-Help-产品介绍-消息类型:定时和延时消息
    阿里云-ONS-Help-产品介绍-消息类型:普通消息
    阿里云-ONS-Help-产品介绍-功能与特性:功能与特性概述
    动态拼接tr,th
    instr动态模糊查询
    easyui的combobox模糊搜索
    combobox的js添加数据
  • 原文地址:https://www.cnblogs.com/kongzhagen/p/15127798.html
Copyright © 2011-2022 走看看