`

scala入门-04类(class)的使用

阅读更多

在scala下创建一个包名为org.scala.clazz ,创建scala类名为OOPInScala.scala ,并增加object OOPInScala

(图片上包明有误,应该是org.scala.clazz)

创建一个User类 并增加name和age字段

调用User类并执行

 

private[this]的使用

我们可以看到 gender属性是 inaccessible的,这样使用private[this]定义后的内容可以无法被外部使用了,这样启动很好的保护的作用了

 

类的构造器:

主构造器使用:

 

调用:

从上面运行的结果我们可以发现scala主构造器特点:

1、主构造器直接跟在类名后面,主构造器中的参数会被编译成类的字段

2、主构造器执行的时候会执行类中的所有不包含在方法体中的语句

如果我们把User主构造器中的 name前面的val去掉后,在运行下

我们可以发现报错信息为name字段不是一个User类的成员变量

因此我们能发现scala主构造器的第三个特点 3、主构造器函数的参数中没有用var 或者val去声明变量,那此时的变量是private[this]级别的,只能被类内部使用

附属构造器的使用:

1、附属构造器是使用this来声明的

2、附属构造器必须调用主构造器或者其他附属构造器

调用结果为:

 

分享到:
评论

相关推荐

    scala从入门到精通技术教学视频

    04.Scala解释器 05.案例_做最好的自己 第二章 变量和数据类型 00.导学 01.输出语句和分号 02.Scala中的常量 03.Scala中的变量 04.字符串的定义 05.惰性赋值 06.标识符 07.数据类型 08.类型转换 09.值类型和String...

    Scala快速从入门到神坑

    一、 简介 二、 Scala安装 ...六、类(Class) 6.1 简单的类 6.2 给类增加字段和方法 6.3 创建对象 6.4 编译和执行 6.5 getter 和setter方法 6.6 辅助构造器 6.7 主构造器 七、对象(Object) 7.1 单例对象 ......

    enclosure:Scala微库,用于获取封闭的classobjectpackage的名称

    基于创建它们的类/对象/特征,将其认为是log4s或log4cats记录器名称,但可以将其通用化并使用在那种情况之外。 老实说,该库应该非常稳定,并且很可能会更改为仅支持新的Scala版本。 但是我知道什么? 入门 该库在...

    Scala编程入门

    Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。 Scala 单作为一门语言来看, 非常的简洁高效 快速入门 在idea中集

    Scala-IRC:scala中处理IRC的一些工具

    最简单的入门方法是扩展ClassicBot trait import org . conbere . irc . _ class MyBot ( val serverName : String , val nickName : String , val userName : String , val password : String , val realName...

    resty:Scala的超级简单REST API框架

    适用于Scala的超级简单REST API框架 您可以通过单击以下命令来运行示例项目: $ git clone https://github.com/takezoe/resty-sample.git $ cd resty-sample/ $ sbt ~jetty:start 通过Swagger UI检查API, ...

    magnolia:类型类实例的轻松,快速,透明的泛型派生

    而无需了解Scala的复杂部分基于Scala 3的内置泛型派生使用递归和互递定义支持参数化ADT(GADT),包括递归类型的ADT 支持在协变和反变位置使用其通用类型参数的类型类入门给定一个ADT,例如enum Tree [ + T ] : case...

    木兰:Scala 2的快速,轻松和透明的类型类派生

    产品特点派生案例类,案例对象和密封特征的类型类提供用于编写​​派生的轻量级非宏语法使用递归和互递定义支持参数化ADT(GADT),包括递归类型支持在协变和反变位置使用其通用类型参数的类型类缓存隐式搜索以提高...

    spark-starter:带有测试套件的示例 Spark 启动应用程序说明字数

    将此用作编写 Spark 应用程序的入门模板。 包括什么 具有所需依赖项的build.sbt assembly.sbt链接到程序集插件 WordCount火花应用 Spark 的WordCountSpec测试套件 包装罐子 您需要在系统上安装 sbt 来构建应用程序...

    Kotlin 语言参考文档 中文版

    嵌套类(Nested Class) 枚举类 对象表达式(Object Expression)与对象声明(Object Declaration) 委托(Delegation) 委托属性(Delegated Property) 函数与 Lambda 表达式 函数 高阶函数与 Lambda 表达式 内联函数(Inline...

    scalatra:受Sinatra启发的Tiny Scala高性能,异步Web框架

    Scala特拉 Scalatra是一个类似于的微型Web框架。 例 import org . scalatra . _ class ScalatraExample extends ScalatraServlet { get( " / " ) { < h1> Hello , world ! } } 文献资料 如果您只是刚入门,请...

    munit-snapshot:MUnit的快照测试

    入门添加munit-snapshot依赖项后: libraryDependencies + = " com.github.lolgab " %% " munit-snapshot " % " 0.0.4 " % Test 您可以在名为ExampleSnapshotTest.scala的文件中创建基本测试: package ...

    protoquill:正在进行的基于Dotty的羽毛笔实现

    当前可用的功能是: 等效于quill-sql 查询,插入,删除,更新基本功能基本的升降机功能lift(scalar)和insert(lift(caseClass)) 。 带引号的子句的基本解析,有关详细信息,请参阅Parser.scala 有关更多信息,请注意...

    zio-magic-comments:ZioMagicComments是一个Scalafix规则,它将解释性图形添加为zio-magic方法的注释

    齐奥魔术评论ZioMagicComments是一个规则,它将解释性图形添加为方法的注释: class Demo { val program : URIO [ Cake , Unit ] = ... // Cake.live ⎫ // ┌──────┴─────┐ ⎬ added by ...

Global site tag (gtag.js) - Google Analytics