文章目录
- 1.伴生对象
- 1.1 scala的一个性质,scala文件中的类都是公共的;
- 1.2 scala使用object关键字也可以声明对象;
- 3.关于伴生对象和类
- 4.权限修饰符,scala仅有private;
- 5.伴生对象可以访问伴生类中的私有属性;
- 6.案例
- 7.伴生对象调用
- 小结
1.伴生对象
概念:存在一个类,存在一个对象,类和对象相互存在,互为伴生的关系。
Scala中**同一个文件中;**名称相同的类和对象他俩就互为伴生;
作用:完善对象和类相辅相成的作用;
定义:object修饰的类;
1.1 scala的一个性质,scala文件中的类都是公共的;
Java仅允许一个public 类存在;
scala源码中所有的声明的类都可以public
1.2 scala使用object关键字也可以声明对象;
class Teacher(val name:String,val age:Int){}object Teacher{}
//Java中一个类既要有自己的属性值,也要有自己的工具类等;
3.关于伴生对象和类
类中放入属性值;对象放入工具类,常量;
4.权限修饰符,scala仅有private;
private val name; //仅自己可以用
5.伴生对象可以访问伴生类中的私有属性;
6.案例
对象中定义的方法和常量可以直接加载,当实例化对象的时候;
一般将静态方法属性声明在object中,成员方法和属性声明在class类中;
IDEA动态变化
7.伴生对象调用
//Scala独有方式 object伴生对象,且对象中存在apply方法即可使用 繁琐
val user1 = User.apply() //如果
目前我的编译器已经无法动态识别apply()
不建议使用
最终结果:
小结
1.伴生对象指的是类和对象的一种相辅相成;
2.将方法(静态),常量放入伴生对象中,每当该实例进行创建,伴生对象中的内容自动进行加载,类可以直接调用和使用;
3.伴生对象一定在同一个文件下,且名字相同;
4.私有属性的定义 private var xxx
5.伴生对象可以直接访问类的私有属性;
6.将静态方法属性声明在object中,成员方法和属性声明在class类中;