理解 Scala 中的静态成员
Suraj P
2023年1月30日
Scala
Scala Methods
在本文中,我们将了解 Scala 中的静态成员。
现在,Scala 比 Java 更面向对象,但与 Java 不同的是,我们在 Scala 中没有 static 关键字。所以解决方案是使用伴生对象或单例对象。
Scala 中的单例对象
由于 Scala 没有 static 关键字,我们可以使用单例对象的概念。单例对象是一种为类定义单个对象的对象。
这为程序的执行提供了一个入口点。如果程序中没有创建单例对象,代码将编译但不会给出任何输出。
单例对象是使用 object 关键字创建的。
语法:
object name
{
//our code..
}
示例代码:
object Example
{
// Variables of singleton object
var name = "My name is tony stark";
var language = "We are learning Scala language";
// Method of singleton object
def display()
{
println(name);
println(language);
}
}
// Singleton object whose name is main
object Main
{
def main(args: Array[String])
{
//calling the method
Example.display();
}
}
输出:
My name is tony stark
We are learning Scala language
解释:
我们在上面的代码中创建了两个单例对象,即 Example 和 Main。Example 对象包含一个名为 display() 的方法,该方法在 Main 对象内直接使用对象名称 Example 调用,而不是创建一个对象然后调用它。
以下是关于单例对象的一些要点:
- 在处理单例对象时,应始终存在
Main方法。 - 我们不能创建单例对象的实例。
- 单例对象内部的方法具有全局可访问性。
- 单例对象可以扩展类和特征。
Scala 中的伴生对象
我们定义实例,即类中的非静态成员,并定义我们希望在与该类同名的对象中显示为静态成员的成员。这种对象称为伴生对象,类称为伴生类。
伴随对象和类应该在同一个源文件中定义。
示例代码:
class Example
{
var name = "My name is tony stark";
var language = "We are learning Scala language";
def display()
{
println(name);
println(language);
}
}
object Example
{
def main(args: Array[String])
{
//calling the method
var obj = new Example();
obj.display()
}
}
输出:
My name is tony stark
We are learning Scala language
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
