大数据全系列 教程
1869个小节阅读:467.9k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
package com.itbaizhan.chapter05
object AbstractClass {
def main(args: Array[String]): Unit = {
//TODO 3.抽象类不能实例化对象
//val animal = new Animal()//错误的
}
//TODO 2.抽象类的定义:就是包含抽象方法的类。需要在类声明时使用abstract关键字修饰
abstract class Animal{
//TODO 1.抽象方法定义:就是不完整的方法,只有声明没有实现
//scala中不完整的方法就是抽象方法,故此不需要使用abstract关键字修饰
def move():Unit
//TODO 6.抽象类中也可以包含非抽象方法
def eat(): Unit ={
println("吭哧吭哧的吃...")
}
}
//TODO 4.继承抽象类后,要么重写抽象类中的全部的抽象方法,要么将该类也定义为抽象类(可以全部不重写或部分重写)
class Dog extends Animal{
//TODO 5.子类中可以空实现,但不能不实现。
/*def move(): Unit ={
}*/
//TODO 7.重写父类中的抽象方法,override关键字可用可不用
override def move(): Unit = {
//....
}
//TODO 8.重写父类中的非抽象方法,override关键字必须使用
//开发时推荐只要是重写父类的方法,不论它是否为抽象方法,都是用override。
override def eat(): Unit = super.eat()
}
}