我对Java非常熟悉,但一直在尝试使用新语言。在Java中,我们可以在类的主体中的方法之外声明实例变量,如下所示:
public class Test {
public String str = "Hello!";
public int count = 0;
public void printString() {
System.out.println(str);
}
public static void main(String[] args) {
Test t = new Test();
t.printString();
}
}
但在Ruby中,当我这样做时,它不会打印任何内容:
class Test
@str = "Hello"
def print_string
puts @str
end
end
t = Test.new
t.print_string
为什么不能在类体中声明实例变量。这个对象的设置属性不是吗?或者是否必须在initialize方法中设置所有内容?