//泛型:类型参数化
//Pair 约定一对数据
class Pair[T](var x:T,var y:T)
//class 类名(成员名:数据类型) ---> class 类名[泛型名](成员名:泛型名)
//泛型的应用场景
//1.泛型函数
//2.泛型类
//3.泛型特质
object t34 {
def main(args: Array[String]): Unit = {
val p1=new Pair[Int](1,2)
val p2=new Pair[Double](1.0,2.0)
val p3=new Pair[String]("大陆","长空")
}
}
//泛型特质
object t35 {
//定义一个日志
//泛型特质,X是泛型名称,可以更改
trait Logger[X]{
val content:X
def show():Unit
}
//定义一个类去实现特质
class FileLogger extends Logger[String]{
override val content: String = "file"
override def show(): Unit = {
println(content)
}
}
def main(args: Array[String]): Unit = {
val fileLogger = new FileLogger()
fileLogger.show()
}
}