zoukankan      html  css  js  c++  java
  • Scala重写构造函数

    package com.wyh.scala.classData
    
    object Demo4Class {
      def main(args: Array[String]): Unit = {
    
        val stu = new Student("张三", 23)
    
        println(stu)
    
      }
    }
    
    //(_name: String, _age: Int)   默认构造函数的参数列表
    class Student(_name: String, _age: Int) {
    
      /**
        * scala默认构造函数
        * {}   所有代码都会被执行
        *
        */
      println("默认构造函数")
    
    
      //定义成员变量
      val name: String = _name
    
      val age: Int = _age
    
      //  _   占位符  没有意义
      var gender: String = _
    
      var clazz: String = _
    
      /** *
        * 重载构造函数
        *
        */
    
      def this(_name: String, _age: Int, gender: String) {
        //在重载构造函数第一行需要先调用默认构造函数
        this(_name, _age)
    
        println("重载构造函数")
    
        //给成员变量赋值
        this.gender = gender
    
      }
    
      //多重构造函数
    
      def this(_name: String, _age: Int, gender: String, clazz: String) {
        //在重载构造函数第一行需要先调用默认构造函数
        this(_name, _age, gender)
    
        println("重载构造函数")
    
        //给成员变量赋值
        this.clazz = clazz
    
      }
    
    
      /**
        * 重写Object的toString方法
        *
        * 方法没有参数的时候() 可以省略
        *
        **/
      override def toString: String = {
    
        //当最后一行作为返回值的时候return 可以省略
        //return name + "	" + age
    
        name + "	" + age + "	" + gender
      }
    
    }
  • 相关阅读:
    Mybatis(4) 映射文件-参数处理
    Mybatis(3) 映射文件-增删改查
    Mabatis(2) 全局配置文件
    Mybatis(1) 创建Mybatis HelloWorld
    过滤器和拦截器之间的区别
    Redis(3) 配置文件 redis.conf
    Redis(2) 数据类型
    Redis(1) 初识Redis
    ActiveMQ(4) ActiveMQ JDBC 持久化 Mysql 数据库
    8.字典
  • 原文地址:https://www.cnblogs.com/wyh-study/p/12217509.html
Copyright © 2011-2022 走看看