package Exp04import Exp04SeasonEmSeasonEmobject Demo04_2 def mainargs ArrayString Unit = val class1 = new EnglishClassSeasonEm String StringSeasonEmautumn 网络 20-1 班 高级班 printlnclass1clas
package Exp04: 定义了一个名为 Exp04 的包。import Exp04.SeasonEm.SeasonEm: 导入了 Exp04 包下的 SeasonEm 对象的 SeasonEm 成员。object Demo04_2: 定义了一个名为 Demo04_2 的对象。def main(args: Array[String]): Unit: 定义了一个名为 main 的无返回值函数,该函数接受一个字符串类型的数组作为参数。val class1 = new EnglishClass[SeasonEm, String, String](SeasonEm.autumn, "网络 20-1 班", "高级班"): 创建一个泛型类型为 EnglishClass 的对象 class1,其中 A 类型为 SeasonEm,B 类型为 String,C 类型为 String。同时,传入了 SeasonEm 枚举类型的 autumn 成员作为 classSeason 参数,字符串 "网络 20-1 班" 作为 className 参数,字符串 "高级班" 作为 classType 参数。println(class1.classSeason + " " + class1.className + " " + class1.classType): 打印 class1 对象的 classSeason、className 和 classType 属性。val class2 = new EnglishClass[SeasonEm, String, Int](SeasonEm.spring, " 网络 20-2 班", 1): 创建一个泛型类型为 EnglishClass 的对象 class2,其中 A 类型为 SeasonEm,B 类型为 String,C 类型为 Int。同时,传入了 SeasonEm 枚举类型的 spring 成员作为 classSeason 参数,字符串 "网络 20-2 班" 作为 className 参数,整数 1 作为 classType 参数。println(class2.classSeason + " " + class2.className + " " + class2.classType): 打印 class2 对象的 classSeason、className 和 classType 属性。object SeasonEm extends Enumeration: 定义了一个名为 SeasonEm 的枚举类型。type SeasonEm = Value: 定义了一个名为 SeasonEm 的类型别名,类型为 Value。val spring, summer, winter, autumn = Value: 定义了四个枚举成员 spring、summer、winter 和 autumn。class EnglishClass[A, B, C](val classSeason: A, val className: B, val classType:C): 定义了一个名为 EnglishClass 的泛型类。该类有三个属性:classSeason、className 和 classType,分别是 A、B 和 C 类型的。同时,该类有一个主构造函数,接受三个参数,分别是 classSeason、className 和 classType
原文地址: https://www.cveoy.top/t/topic/eolH 著作权归作者所有。请勿转载和采集!