美文网首页
scala中的接口与java中的接口抽象类的区别

scala中的接口与java中的接口抽象类的区别

作者: 会飞的蜗牛66666 | 来源:发表于2018-09-01 14:37 被阅读0次
 我们知道java中我们经常看到同时提供接口和抽象基类的做法,那么scala中是否也有这些类和操作呢?

scala提供trait特质而非接口,特质可以同时拥有抽象方法和具体方法,以及状态,而类可以实现多个特质。其实在scala中也有抽象类和接口的说法,按照java的做法也是可行,那么我们现在举例说明一下scala中针对拥有抽象类和接口的共合体是怎么做的。

如下,定义了一个特质:

/**

  • 定义一个特质
    */
    trait Logger {

def log(msg: String)

}

子类的实现或继承
class ConsoleLogger extends Logger {

/**
* 实现抽象类的方法
*/
// def log(msg: String): Unit = {
// println(msg)
// }

/**
* 实现接口的方法
* @param msg
*/
override def log(msg: String): Unit = {
println(msg)
}
}

如下我们可以看到,我们无须将方法声明为abstract,特质中未被实现的方法,默认就是抽象的。
由此,我们可以得出在scala中编写程序的时候,可以吧抽象方法和具体方法,状态都写在trait中。

相关文章

  • scala的Trait

    Trait基础 scala 中的Trait和Java中的接口(interface)极其类似 接口是彻底的抽象类,所...

  • Kotlin---接口与继承

    接口与抽象类的区别 同样在Kotlin中也有接口的概念,与Java不同的是,Kotlin中的接口可以定义变量,但是...

  • scala中的接口与java中的接口抽象类的区别

    scala提供trait特质而非接口,特质可以同时拥有抽象方法和具体方法,以及状态,而类可以实现多个特质。其实在s...

  • 2019Java工程师面试题汇总,全会的话月薪至少3W+

    Java基础知识 Java中==和equals和hashCode的区别int与integer的区别抽象类的意义接口...

  • JAVA

    JAVA java中接口与抽象类的区别? 简述jvm的内存布局? java对象创建的过程? java重载与重写的区...

  • 谈谈 接口与抽象类

    话不多说,直奔主题。先聊一聊 接口与抽象类的区别: 用法不同。接口需要被实现,而抽象类需要被继承。在Java中是单...

  • Java抽象类和接口类

    Java中接口和抽象类的区别是什么?什么时候用接口?什么时候用抽象类?抽象类和接口存在的意义是什么?能解决哪些编程...

  • 第18条:接口优于抽象类

    java中可以用来定义允许多个实现的类型有两种:接口和抽象类。 接口和抽象类的区别: 1,抽象类中可以存在某些方法...

  • java中级开发必知

    (一)Java 1.接口和抽象类的区别 ①抽象类里可以有构造方法,而接口内不能有构造方法。 ②抽象类中可以有普通成...

  • Java 接口知识点

    接口的特性 函数式接口 抽象类和接口区别 Lambda表达式 java常用接口

网友评论

      本文标题:scala中的接口与java中的接口抽象类的区别

      本文链接:https://www.haomeiwen.com/subject/lkfuwftx.html