请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如何才能使类的变量在外部能直接获取,在内部也能使用?

1、请问static 声明变量和final声明的变量有什么区别?
我的需求是期望类的变量在外部能获取到变量title,在内部也能使用比如:

import 'package:flutter/material.dart';
class StatefulGroup extends StatefulWidget {
  StatefulGroup({Key key}) : super(key: key);
  static String title = 'StatefulWidget与基础组件';
  _StatefulGroupState createState() => _StatefulGroupState();
}

class _StatefulGroupState extends State<StatefulGroup> {
  
  Widget build(BuildContext context) {
    return MaterialApp(
      title: widget.title, // 期望这里能够使用声明的变量
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: null,
    );
  }
}
// 期望能通过类直接访问到**title**这个变量,
print(StatefulGroup.title);

正在回答 回答被采纳积分+3

1回答

CrazyCodeBoy 2020-02-16 22:09:45
  • static 声明的是静态变量;

  • final声明的是常量;

静态变量可以通过类名+.的方式访问,常量不允许被修改;

想在外部访问StatefulGroup的静态变量title只需要通过StatefulGroup.title访问即可,另外,如果访问的地方不在同一个文件中时,不要忘记导入StatefulGroup所在的文件;

import 'StatefulGroup所在的文件.dart';

  

1 回复 有任何疑惑可以回复我~
  • 提问者 colpu #1
    为什么widge.title不能访问到呢,如果换成final声明的 便可以访问到?
    回复 有任何疑惑可以回复我~ 2020-02-20 12:11:09
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号