#什么是抽象方法
加上abstract关键字,然后去掉方法体,直接分号结束
抽象方法所在的类必须是抽象类才行,在class之前写上abstract即可
public abstract class Animal{ //抽象类
public abstract void eat(); //抽象方法
}
# 注意事项
抽象方法所在的类必须是抽象类
抽象类不一定有抽象方法
# 如何使用
1.不能直接创建new抽象类对象
2.必须先用一个子类来继承抽象父类
3.子类必须覆盖重写抽象父类当中所有的抽象方法 //如果子类没有重写所有抽象方法,那么子类也必须是抽象的
4.创建抽象对象
#动物祖宗类
package com.leerep.javabase.abstractDemo;
public abstract class Animal { //抽象类
public Animal(){
System.out.println("动物祖宗类抽象方法");
}
public abstract void eat(); //抽象方法
}
# 猫类
package com.leerep.javabase.abstractDemo;
public class Cat extends Animal {
public Cat() {
System.out.println("猫类抽象方法 im a cat");
}
@Override
public void eat() {
System.out.println("猫吃鱼"); //覆盖重写
}
}
# 狗类
package com.leerep.javabase.abstractDemo;
public class Dog extends Animal {
public Dog(){
System.out.println("狗类构造方法 im a dog" );
}
@Override
public void eat() {
System.out.println("狗吃骨头");
}
}
# Demo
package com.leerep.javabase.abstractDemo;
public class Demo {
public static void main(String[] args) {
Cat cat = new Cat();
cat.eat();
System.out.println("===================");
Dog dog = new Dog();
dog.eat();
}
}