请稍等 ...
×

采纳答案成功!

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

The argument type 'String?' can't be assigned to the parameter type 'String'

具体报错内容:
lib/Object_type_oop.dart:201:37: Error: The argument type ‘String?’ can’t be assigned to the parameter type ‘String’ because ‘String?’ is nullable and ‘String’ isn’t.

return Student(stu._school, stu.name, stu.age);

图片描述

希望老师能够解答, 谢谢 。

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

2回答

CrazyCodeBoy 2022-02-18 10:37:43

String get 改成了String? get

0 回复 有任何疑惑可以回复我~
CrazyCodeBoy 2022-02-17 09:18:00

完整代码贴一下我帮你看看

0 回复 有任何疑惑可以回复我~
  • 提问者 慕无忌6890528 #1
    class Student extends Person {
    
      String? _school; // 通过下划线来标识当前类的私有变量 。
      // final String city;
      String? city;
      String? country;
      String? name;
    
    
      Student(this._school, String name, int age, {this.city, this.country = '设置为默认参数'})
      :
        name = '$country.$city',
        super(name, age){
          print('构造方法体不是必须的');
        }
    
    
      Student.cover(Student stu)
      :
        super(stu.name, stu.age) {
          print('命名构造方法: 也是 有自己的方法提的');
        }
    
    
      factory Student.stu(Student stu) {
        return Student(stu._school, stu.name, stu.age);
      }
    
    
      // 可以为私有字段设置 getter 来让外界获取到私有字段
      String get school => _school;
    
      // 可以为私有字段设置 setter 来控制外界对私有字段的修改
      set school(String value) {
        _school = value;
        print('在这里设置私有变量');
      }
    
    
      /**
       * 11. 静态方法:
       *     1. 我们需要在方法名前面使用关键字 static 来标识
       */
      static doPrint (String str) {
        print('doPrint:$str');
      }
    
    
    }
    回复 有任何疑惑可以回复我~ 2022-02-17 18:33:48
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信