package level02
import java.io.FileWriter
object class06 {
class Animal() {
def eating(): Unit = {
println("Animal eating")
}
}
class Dog extends Animal() {
}
def main(args: Array[String]): Unit = {
val dog1 = new Dog()
dog1.eating()
}
}

package level02
import java.io.FileWriter
object class07 {
class Animal() {
def eating(): Unit = {
println("Animal eating")
}
}
class Dog extends Animal() {
override def eating(): Unit = {
super.eating()
println("我是狗,我有自己的吃饭的方式!")
}
}
def main(args: Array[String]): Unit = {
val dog1 = new Dog()
dog1.eating()
}
}

package level02
import java.io.FileWriter
object class08 {
class Animal() {
def eating(): Unit = {
println("Animal eating")
}
}
class Dog extends Animal() {
override def eating(): Unit = {
println("我是狗,我吃饭大口大口嚼")
}
}
class Cat extends Animal() {
override def eating(): Unit = {
println("我是猫,我吃饭小口小口吃")
}
}
def test(animal: Animal): Unit = {
animal.eating()
}
def main(args: Array[String]): Unit = {
val cat = new Cat()
val dog = new Dog()
test(cat)
test(dog)
}
}

package level02
object class09 {
class Animal() {
println("父类构造器被调用.....")
}
class Dog extends Animal() {
println("子类:Dog 构造器被调用.....")
}
class Puppy extends Dog() {
println("子类:Puppy 构造器被调用.....")
}
def main(args: Array[String]): Unit = {
new Puppy;
}
}
