我是Scala
的新用Java背景。scala如何对待伴侣对象?
在java
当我们想分享不同类对象之间的任何领域。我们宣布该字段为static
。
class Car {
static NO_Of_TYRES = 4;
// some implementation.
public int getCarNoOftyres(){
NO_Of_TYRES; // although it's not a good practice to use static without class name
//but we can directly access static member in same class .
}
}
但在Scala中我们不能宣布在class
静态字段,我们需要使用object
(同伴对象)这一点。 在scala
我们会做这样的,
class Car {
println(NO_Of_TYRES); // scala doesn't let us do that. gives error
println(Car.NO_Of_TYRES);// this is correct way.
}
object Car {
val NO_Of_TYRES: Int = 4;
}
我只是好奇,怎么对待阶同伴对象? 这两个关键词(class and object
)是什么不同造成的? 为什么scala不让我们直接在课堂上访问NO_Of_TYRES
?
您可以在文件级别或类内部导入Car._'并根据我的知识使用'NO_OF_TYRES' – Daenyth
,Companaion对象必须位于同一个文件中?仍然需要导入我不这么认为?我的问题是,scala如何处理关键字类和对象? –
它需要在同一个文件中。 – Daenyth