首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Flutter:如何访问另一个方法中的变量?

Flutter:如何访问另一个方法中的变量?
EN

Stack Overflow用户
提问于 2020-06-25 00:59:07
回答 2查看 3.1K关注 0票数 0

我在同一个类中有这两个方法,并且我想访问第二个方法中的一个变量。在C#中,我们只需将其设置为公共变量。但是Dart和Flutter呢..如何在play方法中访问这个变量'hours‘。

这是我尝试过的方法,但它告诉我它不能识别小时变量。

问题是,‘小时’变量是最终变量,不能在类级别声明,因为它需要初始化,而我只想在study方法中初始化它

代码语言:javascript
复制
class Student{
Future study(){
   final hours = 5;
 }

void play(){
    int playhours = study().hours +2;
 }
}
EN

回答 2

Stack Overflow用户

发布于 2020-06-25 03:07:32

您不能只将您在函数中定义的变量设为全局变量。我通常做的是,如果我需要访问一个变量,该变量将在我的类的另一个函数中设置,那么我将在函数外部定义该变量,并在以后需要时调用它。对于您的示例,我将执行以下操作:

代码语言:javascript
复制
class Student{
  int hours;
  
  Future study(){
   hours = 5;
  }
  
  void play(){
    //study(); You can call the function inside this one if you want
    int playhours = hours + 2;
    print(playhours.toString()); // Output: 7
  }
 }

然后在调用它时:

代码语言:javascript
复制
void main() {
  
Student student = Student();
//student.study(); If you use it separately
student.play();

}

你可以做的另一件事是在你的study()函数中return这个值!

票数 0
EN

Stack Overflow用户

发布于 2021-08-31 13:29:27

简单地这样做就可以了:

代码语言:javascript
复制
class Student{
  int hours;
  
  Future study(){
   hours = 5;
  }
  
  void play(){
    //study(); You can call the function inside this one if you want
    int playhours = hours + 2;
    print(playhours.toString()); // Output: 7
  }
 }

然后从main函数调用它,如下所示:

代码语言:javascript
复制
void main() {
  
Student().play();

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62560316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档