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

/**
 * @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()
  }
}

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

转载于:https://www.cnblogs.com/YangMT/p/4787965.html

scala入门学习之类的使用相关推荐

  1. Scala 入门学习

    Scala 学习 一:环境配置      Scale 官网地址: http://scala-ide.org/download/sdk.html      1:  安装Java  JDK      2: ...

  2. java -jar 默认参数_JAVA入门学习指南,建议收藏

    如果你不懂Java 并且想认真学习接触了解一下Java的语法,建议把这篇文章收藏了,多看几遍,应该可以初步掌握Java 大部分基础的语法 . 让我们出发吧!ps:本文有点长,耐心阅读 . 〇,编程环境 ...

  3. 好程序员大数据培训分享怎样进行大数据入门学习

    好程序员大数据培训分享怎样进行大数据入门学习,对于大数据的入门学习,基础不一样,起点就会不一样. 今天先来说说,对于零基础的同学想要学习大数据的方式方法吧!很多人可能感到不可思议,零基础怎么可能学习大 ...

  4. java8新特性-Stream入门学习

    上一篇介绍了Lambda的学习,如果对Lambda表达式还不清晰的同学可以戳一下这个链接:java8新特性-lambda表达式入门学习.java8除了提供了Lambda表达式,操作集合的Stream ...

  5. python速成要多久2019-8-28_2019最全Python入门学习路线,不是我吹,绝对是最全

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...

  6. MAYA 2022基础入门学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.41 GB |时长:4.5小时 包含 ...

  7. 3dmax Vray建筑可视化入门学习教程

    面向初学者的3Ds Max Vray最佳Archviz可视化课程 从安装到最终图像的一切都将从头开始教授,不需要任何经验 大小解压后:3.25G 时长4h 6m 1280X720 MP4 语言:英语+ ...

  8. Blender 3.0基础入门学习教程 Introduction to Blender 3.0

    成为Blender通才,通过这个基于项目的循序渐进课程学习所有主题的基础知识. 你会学到什么 教程获取:Blender 3.0基础入门学习教程 Introduction to Blender 3.0- ...

  9. Maya游戏角色绑定入门学习教程 Game Character Rigging for Beginners in Maya

    准备好开始为游戏制作自己的角色动画了吗? 你会学到什么 了解Maya的界面 优化并准备好你的模型,为游戏做准备 了解关节以及如何使用它们来构建健壮的角色骨骼,以便在任何游戏引擎中制作动画 了解IK和F ...

  10. 三维地形制作软件 World Machine 基础入门学习教程

    <World Machine课程>涵盖了你需要的一切,让你有一个坚实的基础来构建自己的高质量的电影或视频游戏地形. 你会学到什么 为渲染或游戏开发创建高分辨率.高细节的地形. 基于Worl ...

最新文章

  1. 【廖雪峰python入门笔记】list_倒序访问
  2. android 自动休眠时间设置在哪里,Android休眠设置时间
  3. ASP.NET MVC 4 (十一) Bundles和显示模式
  4. 理解javascript中的函数模式
  5. 与IO相关的等待事件troubleshooting-系列9
  6. 北京区域赛I题,Uva7676,A Boring Problem,前缀和差分
  7. mysql双机热备实现
  8. 攀升电脑九周年:“9”要追新,捍卫热爱
  9. 地府后台管理系统30.已经在开发中,介绍下目前的工作进度和未来展望
  10. (7)<a>标签之锚点和回到顶部功能
  11. 框架:NHibernate学习目录
  12. 一个极简的RePlugin
  13. python deap_在Python中用DEAP绘制多目标pareto边界
  14. android tracert命令详解,Tracert命令详解
  15. phpcms开发微信小程序api
  16. bmp图片格式转化为jpg
  17. Win10:回收站删除文件找回
  18. 小白入门python教程自学python
  19. 老将引退AMD换血成功
  20. TA 认识 unity shader最基本的代码结构与书写01

热门文章

  1. UDS协议-代码完整性测试
  2. Android 阿里云热修复
  3. 计算机二级文化基础知识,全国计算机二级office考试内容
  4. 6G总体愿景与潜在关键技术白皮书【PPT】
  5. Caffe教程:训练自己的网络结构来分类。
  6. mybatis中获取当前时间_mybatis 在xml文件中获取当前时间的sql
  7. 基于单片机的老人防摔GSM报警
  8. msi b460m pro wifi黑苹果 efi
  9. SpringBoot项目实现敏感词汇过滤
  10. python恶搞图_Python恶搞代码