对于Dart初学者来说超级简单但很难的问题



我正在努力学习Dart语言。下面的代码看起来很直接,但不工作。我知道这对专家来说可能是一个愚蠢的问题,但对我来说很难理解为什么不呢?

class Car{
carFun(){

print("Test");
}

}
main(){
Car.carFun();
}

已经回答了,但我会给出更多的背景。

你需要将你的方法标记为static:

static carFun(){ ...

这使得该方法可以作为"类方法"使用;现在,正如你所定义的,它是一个"对象方法"。这意味着您需要从类Car中创建一个对象才能使用它,这将是如下所示:

var myCar = new Car();
myCar.carFun();

这样就实例化了一个对象,并为它使用了一个已定义的方法。将其标记为静态将使这种方法不起作用。这是类和对象的众多区别之一。

标记你的方法为static。阅读更多:https://dart.dev/guides/language/language-tour#class-variables-and-methods

最新更新