zoukankan      html  css  js  c++  java
  • Scala中的构造器

    Scala中的构造器

    Scala中的构造器分为两类,主构造器和辅助构造器

    主构造器是通过类名后面跟的括号里加参数列表来定义

    辅助构造器是通过关键字this定义

    定义一个无参主构造器

    class rectangle(){
        val width = 0
        val height = 0
    }

    定义一个带参主构造器

    class rectangle(w:Int){
        val width = w
        val height = 0
    }

    主构造器的函数体是在类里面的,可以说一个类里面除了方法和成员字段外都是主构造器的函数体,在类初始化的过程中会执行类体里面的语句。

    可以在无参主构造器内这样定义和执行初始化方法

    class rectangle(){
        var width = 0
        var height = 0
        
        Init()
        
        def Init(){
            width = 1
            height = 1
        }
    }
    

    用this来定义辅助构造器,在辅助构造器里必须调用主构造器,所以说类的构造过程是必须经过主构造器。

    注意

    默认构造器是顺序执行的也就是从第一个非函数开发执行,所以如果你的上述代码是这样写的:

    Init()
    
    var width = 0
    var height = 0

    width和height的值依然还是0!

    辅助构造器一

    class rectangle(){
    	var width = 0
    	var height = 0
    	
    	def this(w:Int){
    		this()
    		width = w
    	}
    }
    

    辅助构造器二

    class rectangle(){
    	var width = 0
    	var height = 0
    	
    	def this(w:Int){
    		this()
    		width = w
    	}
    	
    	def this(w:Int, h:Int){
    		this(w)
    		height = h
    	}
    }
    

      

  • 相关阅读:
    VS Code 调试报错
    Nginx反向代理设置
    Nginx 的配置文件
    Nginx 的常用的命令
    CentOS7安装Nginx
    Docker配置
    Centos7 安装MySQL 5.7
    限制Redis使用的最大内存
    C#操作Redis
    Font Awesome 字体图标
  • 原文地址:https://www.cnblogs.com/keitsi/p/5356525.html
Copyright © 2011-2022 走看看