package fx
/*
两个函数长的一样!!!!只有参数的类型不同。
定一个名为getMiddle方法,用来获取输入列表中间位置上的元素
1 2 3 4 5 6
*/
object fx1 {
/*
def getMiddle(arr:Array[Int]):Int={
arr(arr.length/2)
}
def getMiddle(arr:Array[String]):String={
arr(arr.length/2)
}
//arr3调用方法1:
def getMiddle(arr:Array[Double]):Double={
arr(arr.length/2)
}
*/
//arr3调用方法2:
def getMiddle[T](arr:Array[T]):T={ // 参数化类型 函数形参的参数,是一个变量T泛型[T]
arr(arr.length/2)
}
def main(args: Array[String]): Unit = {
val arr1=Array(1,2,3,4,5,6,7)
println(s"arr1的中间元素是${getMiddle(arr1)}")
val arr2=Array("a","b","c")
println(s"arr2的中间元素是${getMiddle(arr2)}")
val arr3=Array(1.1,2.2,3.3)
println(s"arr3的中间元素是${getMiddle(arr3)}")
}
}
package fx
object fx2 {
class Ractangle[X](var w:X,var h:X) {
def getArea():Unit = {
println(w , h)
}
}
def main(args: Array[String]): Unit = {
val r = new Ractangle[Double](1,2)
r.getArea()
}
}