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

来源:5-11 带你揭开Flutter中的面向对象(get和set、静态方法)

慕无忌6890528

2022-02-17

具体报错内容:
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);

图片描述

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

写回答

2回答

CrazyCodeBoy

2022-02-18

String get 改成了String? get

0
0

CrazyCodeBoy

2022-02-17

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

0
1
慕无忌6890528
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
共1条回复

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3270 问题

查看课程