我知道单例是一个只有一个实例的类,它提供了一个全局访问点"。但是scala中的Singleton意味着什么?Singleton对象如何应用概念scala中的singleton?Singleton Object / Object在scala中创建了什么?
答案 0 :(得分:1)
对象是一个只有一个实例的类。它被引用时会被懒惰地创建,就像懒惰的val。
https://docs.scala-lang.org/tour/singleton-objects.html
所以每当你做
StreamWriter wr = new StreamWriter($"C:\\Users\\admin\\Downloads\\Extension Report Time {hour}-{minute}-{second}.xls");
编译器将创建一个类和该类的单个实例,它被懒惰地初始化。
这使object SomeObject
成为Java术语中的单例(保证类的单个实例)
答案 1 :(得分:0)
对象是仅具有该类的一个实例的类。每当引用对象时都会创建此对象,否则不会创建该对象。它恰好表现为惰性评估。
以下是带有方法的对象的示例:
function getSuccessOutput() {
$.ajax({
method: 'get',
url:'test.php',
complete: function (response) {
console.log(response.responseText);
$('#output').html(response.responseText);
},
error: function () {
$('#output').html('Bummer: there was an error!');
},
});
return false;
此 info 方法可以在程序的任何位置使用。
让我们看看如何在程序中使用 info 方法。
package logging
object Logger {
def info(message: String): Unit = println(s"INFO: $message")
}