learning scala generic classes
2024-08-28 01:49:59
package com.aura.scala.day01 object genericClasses {
def main(args: Array[String]): Unit = {
val stack = new Stack[Int]
stack.push()
stack.push()
println(stack.pop())
println(stack.pop())
}
} class Stack[A] {
private var elements: List[A] = Nil
def push(x: A){ elements = x :: elements }
def peek():A = elements.head
def pop():A = {
val currentTop = peek()
elements = elements.tail
currentTop
}
}
result:
"D:\Program Files\Java\jdk1.8.0_201\bin\java.exe" "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2019.1.3\lib\idea_rt.jar=11061:D:\Program Files\JetBrains\IntelliJ IDEA 2019.1.3\bin" -Dfile.encoding=UTF- -classpath "D:\Program Files\Java\jdk1.8.0_201\jre\lib\charsets.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\deploy.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\access-bridge-64.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\cldrdata.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\dnsns.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jaccess.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jfxrt.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\localedata.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\nashorn.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunec.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunjce_provider.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunmscapi.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunpkcs11.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\zipfs.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\javaws.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\jce.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\jfr.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\jfxswt.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\jsse.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\management-agent.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\plugin.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\resources.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\rt.jar;C:\Users\admin\IdeaProjects\ScalaDay\out\production\ScalaDay;C:\Program Files (x86)\scala\lib\scala-actors-2.11.0.jar;C:\Program Files (x86)\scala\lib\scala-actors-migration_2.11-1.1.0.jar;C:\Program Files (x86)\scala\lib\scala-library.jar;C:\Program Files (x86)\scala\lib\scala-parser-combinators_2.11-1.0.4.jar;C:\Program Files (x86)\scala\lib\scala-reflect.jar;C:\Program Files (x86)\scala\lib\scala-swing_2.11-1.0.2.jar;C:\Program Files (x86)\scala\lib\scala-xml_2.11-1.0.4.jar" com.aura.scala.day01.genericClasses
实例对象 stack
只能接受整型值。然而,如果类型参数有子类型,子类型可以被传入:
class Fruit
class Apple extends Fruit
class Banana extends Fruit val stack = new Stack[Fruit]
val apple = new Apple
val banana = new Banana stack.push(apple)
stack.push(banana)
最新文章
- Web Modify The Html Elements According Url Parameters With Jquery
- PHP之MVC项目实战(三)
- Qt 框架 开发HTTP 服务器 开发记录
- Azure SQL 数据库与新的数据库吞吐量单位DTU
- phonegap/cordova常用命令
- Eat the Trees hdu 1693
- Struts2中的session、request、respsonse获取方法
- linux sysvinit与upstart [转]
- 二维码生成 - QrCodeNet
- WA(Write Amplification)写入放大
- mysql 连接两列
- iOS tableview和 Collection复用机制
- 【USACO】玉米实验(单调队列)
- Keep Mind Working
- DB2常用命令2
- Wordpress安装Redis为网站加速
- Linux中SFTP命令
- [EffectiveC++]item43:学习处理模板化基类内的名称
- 快速部署 Kubeadm 1.13 集群(ETCD)
- 20162327WJH第一次实验——线性结构