• 大数据系列修炼-Scala课程03


    前言

    今天上班看了很多关于前端js,jQuery、bootstrap.js以及springMVC看得迷迷糊糊的,毕竟以前很少去学习前端的技术,所有看得有点困,还好看得比较多,回家后也开始学习关于Scala相关的课程,实验一下每天坚持做大数据相关的事情,一年后会成为什么样子......期待中....,今天也接着昨天的课程继续。

    Scala内部类实战详解

    Scala内部类详解:scala中内部类要访问外部类直接把外部类的对象给内部类了,让其自己访问,内部类也需要实例化,这和java中有很多的区别,内部类可以访问外部类任意成员变量并且不能为静态变量

    Scala内部类实战:实现内部类访问外部类

    object scalaOuter {
      def main(args: Array[String]): Unit = {
        val outer1 = new Outer("Spark");
        val outer2 = new Outer("Hadoop")
        val inner1 = new outer1.Inner("Scala")
        val inner2 = new outer2.Inner("Java")
        inner1.foo(inner1)
        inner2.foo(inner2)
      }
    }
    class Outer(val name: String){
      //scala中内部类要访问外部类直接把外部类的对象给内部类了,让其自己访问,内部类也需要实例化
      outer =>class Inner(val name:String){
        def foo(b:Inner)=println("Outer: "+outer.name + "Inner:" + b.name)
      }
    }

    Scala单例对象、伴生对象实战详解

    Scala单例对象详解:单例对象可以直接访问中公有的方法和变量,这与java静态类差不多

    Scala伴生对象代码实战:伴生对象就是有一个类与这个对象名称、参数都一样,这个类可以访问它的伴生对象中所有的变量和方法(私有都可以)

    object ScalaObject {
      def main(args: Array[String]): Unit = {
        //University.studentNo   ->这样就会报错
        println(University.newStudenNo)
        println(University.newStudenNo)
      }
    }
    // Scala中object对象就好比java中的静态类一样
    object University {
      private var studentNo = 0 //私有的变量是不可以外部访问
      def newStudenNo = {
        studentNo += 1
        studentNo //函数的最后变量为返回值
      }
    }
    //伴生类
    class University{
      val id = University.newStudenNo
      private var number =0
      def aClass(number:Int){this.number += number}
    }

    Scala中的apply实战详解

    Objec中的apply实战详解:apply方法可以用在class中和对象中,可在伴生对象中实例化class,从而调用类中的方法

    Class中的apply实战详解:类实例化后,对象()就可以调用apply方法

    object ApplyOps {
      def main(args: Array[String]): Unit = {
    //    val applyTest = ApplyOp() //直接用伴生对象访问类中的方法 ->在伴生对象中已经new了对象,则可以访问其中的方法
    //    applyTest.haveAtry
        var b = new ApplyOp()
        println(b())
      }
    }
    //ApplyOp类的伴生对象
    object ApplyOp{
      def apply() =
      {
        println("Object ApplyOp")
        new ApplyOp
      }
    }
    //ApplyOp对象的伴生类
    class ApplyOp{
      def apply() =
      {
        println("Class ApplyOp")
      }
      def haveAtry{
        println(" Have a try on apply")
      }
    }

    希望大家多多指教,谢谢

    视频分享地址:http://pan.baidu.com/s/1pJ9n3JH

  • 相关阅读:
    【BZOJ2844】albus就是要第一个出场 高斯消元求线性基
    Python入门之面向对象module,library,package之间区别
    Python入门之字典的操作详解
    Python Web学习笔记之TCP/IP协议原理与介绍
    Python Web笔记之高性能网络编程
    Python Web学习笔记之面试TCP的15个问题
    Python Web学习笔记之TCP/IP、Http、Socket的区别
    Python Web学习笔记之TCP、UDP、ICMP、IGMP的解释和区别
    Python Web学习笔记之IGMP和ICMP的差别
    Python设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/524646016-zhang/p/zhangsh_dt_scala_03.html
Copyright © 2020-2023  润新知