• scala入门学习之类的使用


    时间比较紧,所以直接上代码,解释在代码中:


    /**
     * @author hnyd
     */
    class HelloClass {
     
    }

    //scala 中都是public类

    class Person{       //不带构造函数函数的

      var name:String=_ //会生成getter和setter
      val age=10        //只会生成getter
     
      //添加private[this]声明的变量,只能在类的内部使用
      private[this] val gendar="male"
     
    }

    //这是一个主构造器
    //1、定义一个主构造器后,其颞部声明的变量,会生成相应的字段
    //2、类中所有的内容会执行一遍
    //3、如果变量的前面没有带val或var就相当于在字段前面添加了private[this],
    //只能在内部使用,不能实例化调用
    class Person2(var name:String,val age:Int){
     
      println("this is a primary constructor")
     
      var gender:String=_
     
      val school=""
     
      //附属构造器
      //附属构造器的名称必须是this
      //附属构造器中必须首先调用子构造器或附属构造器
      def this(name:String,age:Int,gender:String){
        this(name,age)
        this.gender=gender
        println("this a 附属 constructor")
      }

    }

    //继承
    //关于override的使用,不单单对方法使用,还使用用于字段
    class Student(name:String,age:Int,val address:String) extends Person2(name,age){
     
      println("this is a subclass of Person2")
     
      override val school=""
     
      override def toString="override toString...."
    }

    object HelloClass{
     
      def main(args:Array[String]){
        
        val p=new Person  //没有构造函数可以省略"()"
        p.name="jack"
        println(p.name+":"+p.age)
        
        println()
        
        val p2=new Person2("jack",20)
        println(p2.name+":"+p2.age)
        
        println()
        
        val p2_1=new Person2("jack",23,"male")
        println(p2_1.name+":"+p2_1.gender)
        
        println()
        
        val s1=new Student("jack",23,"henan")
        println(s1.name+":"+s1.age+":"+s1.address)
        
        println(s1.toString)
        
        println()
      }
    }

    坚持是必须的,希望你多写多练,坚持

  • 相关阅读:
    多线程开发技术基础
    Asp.Net MVC 进阶篇:路由匹配 实现博客路径 和文章路径
    详解 ManualResetEvent
    Http状态码完整说明
    Javascript 封装问题
    网络爬虫的C++程序
    闭包
    算法框架与问题求解
    SQLSERVER用无中生有的思想来替代游标
    Citrix 服务器虚拟化之四 Xenserver资源池
  • 原文地址:https://www.cnblogs.com/YangMT/p/4787965.html
Copyright © 2020-2023  润新知