В scala нет понятия static
. Таким образом, scala создает одноэлементный объект, чтобы обеспечить точку входа для выполнения вашей программы.
Если вы не создадите одноэлементный объект, ваш код будет успешно скомпилирован, но не даст никакого вывода. Методы, объявленные внутри Singleton Object, доступны глобально. Одноэлементный объект может расширять классы и признаки.
Пример объекта-одиночки Scala
object Singleton{
def main(args:Array[String]){
SingletonObject.hello() // No need to create object.
}
}
object SingletonObject{
def hello(){
println("Hello, This is Singleton Object")
}
}
Выход:
Hello, This is Singleton Object
В scala, когда у вас есть класс с тем же именем, что и одноэлементный объект, он называется сопутствующим классом, а одноэлементный объект называется сопутствующим объектом.
Сопутствующий класс и его сопутствующий объект должны быть определены в одном и том же исходном файле.
Пример объекта-компаньона Scala
class ComapanionClass{
def hello(){
println("Hello, this is Companion Class.")
}
}
object CompanoinObject{
def main(args:Array[String]){
new ComapanionClass().hello()
println("And this is Companion Object.")
}
}
Выход:
Hello, this is Companion Class.
And this is Companion Object.
В Scala класс может содержать:
1. Элемент данных
2. Элемент метода
3. Конструктор Блок
4. Вложенный класс
5. Информация о суперклассе и т. Д.
Вы должны инициализировать все переменные экземпляра в классе. Там нет области по умолчанию. Если вы не укажете область доступа, она будет общедоступной. Должен быть объект, в котором определен основной метод. Это обеспечивает отправную точку для вашей программы. Здесь мы создали пример класса.
Образец Scala Пример класса
class Student{
var id:Int = 0; // All fields must be initialized
var name:String = null;
}
object MainObject{
def main(args:Array[String]){
var s = new Student() // Creating an object
println(s.id+" "+s.name);
}
}
Извините, я опоздал, но надеюсь, это поможет вам.