不想学习---构造函数

在Scala中有三种用来修饰属性的关键字

   var:定义可以修改的参数

   val:定义不能修改的参数

   private:私有的,修饰后的内容不可再更改,不能访问

Scala有参类

   class关键字后的()中定义了参数类型用“,”分隔定义的多个参数,identifier表示参数的名字,type表示参数的数据类型,有参的参数名和参数类型是必须的,而var val关键字是不必需的。

   parameter表示构造参数的名字,type表示参数类型,value表示参数值,new关键字新建对象(直接重新赋值并覆盖之前的参数值)。

Scala主构造器:

   通过public关键字定义一个与类同名的方法。

   语法格式:

      class  类名 ([parameter1,parameter2........]){
      }

Scala辅助构造器:

   通过this关键字定义辅助构造器,用“,”分隔,辅助构造器没有私有化。作用:可以为类提供多种创建对象的方式

   语法格式:

      this  ([parameter1,parameter2........]){
      }

关系

辅助构造器与主构造器的关系
   辅助构造器一定会调用主构造器。当声明一个类时,只有一个构造器。如果想应用辅助构造器,
就一定要调用主构造器。当辅助构造器是类中的第一个辅助构造器时,一定会先调用主构造器,通过this.的方式调用主构造器。
辅助构造器与辅助构造器的关系
   辅助构造器在应用时除了可以调用主构造器之外,还可以调用已经定义的辅助构造器。需要注意的是辅助构造器会先调用主构造器。
 

scala的单例对象

object关键字来创建一个单例对象。单例对象在整个应用程序中只有一个实例,适合用于存放工具方法、常量或共享状态。

scala的伴生类和伴生对象

Scala的伴生对象与伴生类的定义

伴生类伴生对象:当同名的类和单例对象在同一源码文件时,这个类称为单例对象的伴生类,对象称为类的伴生对象。这两者是相互的。

Scala的伴生对象与伴生类主要有两个要点:
(1)必须同名。
(2)必须在同一个源码文件中

伴生对象与伴生类的解决的问题

Scala是比Java更加面向对象的编程语言,面向对象说明一切皆对象,但是在Java中有静态的成员,
静态成员属于类不属于对象。而Scala中没有静态成员这个概念,没有static关键字。Scala的伴生对象和伴生类可以解决如下问题。

(1)生成静态成员:如果Scala 中需要生成类似静态成员的应用场景,可以使用伴生对象解决该问题。
  (2)伴生对象和类之间的相互访问:伴生对象和类的私有成员可以相互访问。
(3)构建单例对象:这一点与静态成员问题相似。

【访问私有方法】

【小习】


1.面向对象的三个特征是?

     封装,继承,多态。

2.定义每个对象都具有的行为动作叫什么?定义每个对象所具有的特征是什么?

     方法 定义对象具有的行为动作;属性 每个对象所具有的特征。

3.在定义class时,使用private修饰的属性有什么特点?

     private修饰后的内容不可再更改

4.什么是主构造器?

     构造器是为类创建对象,是创建对象的入口。

5.如何定义辅助构造器?

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

6.辅助构造器的作用是什么?

     可以为类提供多种创建对象的方式。

7.Scala使用什么关键字来定义单例对象?

     object是声明单例对象的关键字。

8.什么是伴生类和伴生对象,如何定义伴生类和伴生对象?

     当同名的类和单例对象在同一源码文件时,这个类称为单例对象的伴生类,对象称为类的伴生对象。

9.伴生类和伴生对象的应用场景?

     ①生成静态成员;

     ②伴生对象和类之间的相互访问;

     ③构建单例对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值