scala里面的抽象类

几个月前学习了scala,但是后来没有坚持下来,最近无事就又翻出来看看 !

这里主要说下scala里面的抽象类:

package com.demo.abstractdemo

import java.io.{FileInputStream, BufferedInputStream, File}
import java.net.URL


/**
 * Created with IntelliJ IDEA.
 * User: a549238
 * Date: 2/27/13
 * Time: 3:15 PM
 * To change this template use File | Settings | File Templates.
 */
/*
抽象类test
 */
abstract class BuilkReader {
  type In
  val source:In
  def read:String

}
class StringBuilkReader(val source:String) extends BuilkReader
{
  type In=String
  def read=source
}
class FileBuilkReader(val source:File) extends  BuilkReader
{
  type In=File
  def read={
    val in=new BufferedInputStream(new FileInputStream(source))
    val numBytes=in.available()
    val bytes=new Array[Byte](numBytes)
    in.read(bytes,0,numBytes)
    new String(bytes)
  }

}
  object client{
    def main(args:Array[String])
    {
      println(new StringBuilkReader("Hello Scala!").read)

      val path=Thread.currentThread().getContextClassLoader.getResource("")
      val projectpath=path.toString.substring(6,path.toString.indexOf("out"))  //截取到项目根目录  ,同时去除“file:/”
      val filepath=projectpath+"src/com/demo/abstractdemo/BuilkReader.scala"

      println(path+"\n"+filepath+"\n"+projectpath)
      println(new FileBuilkReader(new File(filepath)).read)
    }
  }


代码当中的“builkRead.scala"文件就是本程序代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值