我正在查看一些开源代码,无法将我的头缠在这个片段上。
class Something
def self.smart
new.smart
end
def smart
"test"
end
end
class Other < Something
println Other.smart
每次调用
smart
时,代码是否都试图实例化一个新实例? 最佳答案
def self.smart
new.smart
end
等效于
static
方法,可以使用类名进行访问。... static ... smart()
和
def smart
"test"
end
等价于
instance
方法,需要对象访问... smart()
new与java中的相同,创建了一个类的实例。
整个事情就等同于
public static .... smart(){
new ClassName().smart();
}
关于java - 从Java的角度来看,“自我”和"new"在Ruby中意味着什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8737341/