首页 > 其他分享 >Scala的内部类

Scala的内部类

时间:2024-10-21 09:50:19浏览次数:8  
标签:run 内部 Scala def new speed class Unit

Scala的内部类是指定义在类或对象内部的类

    class Car {
      private var speed = 0 //私有属性
      var color = "black"

      def run(): Unit = {
        println(s"run with ${speed}")
      }

      //内部类:写在类里面的类
      //1.定义一个类
      class Engine {
        println("F.......")

        def addSpeed(): Unit = {
          speed += 10
        }
      }
    }


    object dd {
      def main(args: Array[String]): Unit = {
        //2.实例化内部类的对象。(new 一个内部类)
        //格式:val 对象名 = (new 外部类).内部类
        val c1 = new Car()
        //c1的速度是不可访问
        val engine = new c1.Engine()
        //实例化内部类的对象,去操作私有属性speed
        engine.addSpeed()
        c1.run()
  }

}

内部对象:写在class里面的object

    class Car {
      private var speed = 0 //私有属性
      var color = "black"

      def run(): Unit = {
        println(s"run with ${speed}")
      }

      //内部类:写在类里面的类
      //1.定义一个类
      class Engine {
        println("F.......")

        def addSpeed(): Unit = {
          speed += 10
        }
      }
          //内部对象:写在class里面的object
          //定义
          object obj{
            def say():Unit={
              println("内部对象.....")


        }
      }
    }

Scala的匿名类:是指没有名字的类,匿名类只能使用一次,如果想再次使用需要重新创建匿名类,而定义的普通类则可以反复使用。

object dddd {
  def main(args: Array[String]): Unit = {
    // new C()
    //new C()
    val C = new Car(){
      override def run(): Unit = {
        println("run......")
      }
    }
    c.run()
  }

}

标签:run,内部,Scala,def,new,speed,class,Unit
From: https://blog.csdn.net/2401_87076481/article/details/143103937

相关文章

  • PHP 正则表达式 修正符【m s x e ? (?i)】内部修正符 贪婪模式 后向引用 断言【总结篇
    1.正则表达式修正符在PHP中,正则表达式中的修正符(modifier)可以改变模式的行为,使得其功能更加灵活。1.m修正符(多行模式)作用:在多行模式下,^和$元字符除了匹配整个字符串的开头和结尾外,还可以匹配每一行的开头和结尾。举例: "Hello\nWorld",当使用/^World/m时,^会匹配"W......
  • Scala继承和多态
    //定义一个类classAnimal(){println("父类Animal的构造器被调用")varlegs=4defsay():Unit={println("Animalsay....")}defrun():Unit={println("Animalrun....")}}//定义一个子类Dog,继承自父类Animal//继承的好处:(1)不劳而获cla......
  • 精准管理知识资产:十大内部知识库工具全解析
    在当今竞争激烈的市场环境中,知识资产已成为企业核心竞争力的重要组成部分。为了更好地管理和利用这些宝贵的知识资源,选择合适的内部知识库工具至关重要。本文将为您介绍十款高效、实用的内部知识库工具,帮助您实现知识资产的精准管理。1.HelpLookAI知识库适用对象:企业/客......
  • Scala中reduce函数
    reduce()方法是一个高阶函数,它接受集合中的所有元素(数组,列表等),并使用二进制运算将它们组合以产生单个值。必须确保运算是可交换的和关联的。匿名函数作为参数传递给reduce函数。reduce作用:是一种集合操作,用于对集合中的元素进行聚合操作,返回一个单一的结果。它通过指定的......
  • Scala的fold
    fold的解释为:对数组的每个元素执行指定的二元折叠操作。注意:fold与reduce和reduceleft的区别在于fold有一个初始值,在取值运算的过程中第一个元素需要与初始值进行运算,再一次进行下一步的运算。fold作用:fold是一种集合操作(与reduce类似),用于对集合中的元素进行聚合操作,返回一个......
  • Scala入门基础(12)抽象类
    抽象类,制定标准,不要求去具体实现               包含了抽象方法的类就是抽象类。抽象方法只是有方法名,没有具体方法体的方法定义抽象类要用abstract(抽象)关键字用智能驾驶技术举例:演示)具体属性var,val属性名=值;抽象属性var属性名:类型具体方法:完整......
  • python: invalid value encountered in divide以及invalid value encountered in doub
    运行命令pythoneqtl_prepare_expression.pydata.tpm.gctdata.reads_count.gct--tpm_threshold0.1--count_threshold2--sample_frac_threshold0.2--normalization_methodtmm--outputdata.txt时出现了报错“invalidvalueencounteredindivide”以及“invalidvalue......
  • PYNQ z2 使用xadcps读取xadc内部电压温度
    使用xadcps只能和JTAG一样读取温度值和电压值,属于内部通道,读取不了外部通道的数据添加zynq700核后进行配置1.在PS-PLConfiguration中,取消勾选general里面的FCLK_RSTEN_N以及M_AXI_GP0_Interface2.在PeripheralIOPins中勾选1415对应的UART0,同时对板卡电压进行配置,BA......
  • 最新版今日头条独家内部玩法,单号轻松简单日入2张
    今日头条作为流行的新闻和内容平台,为内容创作者提供了一个展示和盈利的机会。本文档详细介绍了利用特定工具在今日头条上进行文章创作的流程和优势。项目背景随着移动互联网的普及,越来越多的用户通过手机应用获取信息。今日头条凭借其算法推荐系统,成为用户获取信息的重......
  • Scala多样的定义方法
    标准定义defsum(x:Int,y:Int):Int={x+y}新方式:字面量方式varsum1=(x:Int,y:Int)=>{x+y}//简写1,代码只有一句,可以省略{}varsum2=(x:Int,y:Int)=>x+y//简写2,形参可以使用占位符来代替varsum3:(Int,Int)=>Int=_+_/......