Java抽象类和抽象方法
抽象: 事物的共同性质.
✨抽象类不可以用于创建对象。抽象类可以包含抽象的方法,这些方法要在具体的子类中实现。
抽象类:抽象方法所在的类,必须是抽象类才行。在class之前写上abstract即可。
public abstract class Animal {
抽象方法: 就是加上abstract关键字,然后去掉大括号,直接分号结束。
public abstract void eat();
如何使用抽象类和抽象方法:
1. 不能直接创建new抽象类对象。2. 必须用一个子类来继承抽象父类。`cat extend Animal `3. 子类必须覆override盖重写抽象父类当中所有的抽象方法。覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体大括号。4. 创建子类对象进行使用。5. 抽象类的构造方法定义为protected,因为它只被子类使用。
*/public abstract class Animal {// 这是一个抽象方法,代表吃东西,但是具体吃什么(大括号的内容)不确定。public abstract void eat();// 这是普通的成员方法public void normalMethod() {}}
public class Cat extends Animal {//创建子类Cat是一个动物继承父类Animal@Override //子类必须覆盖重写抽象父类当中所有的抽象方法。public void eat() {System.out.println("猫吃鱼");}}
public class DemoMain {public static void main(String[] args) {// Animal animal = new Animal();// 错误写法!不能直接创建抽象类对象 要用一个子类继承父类,覆盖重写父类抽象方法后,才能new一个对象,就是转换一下.Cat cat = new Cat();cat.eat();}}
抽象类不一定含有抽象方法,只要保证抽象方法所在的类是抽象类。
这样没有抽象方法的抽象类,也不能直接创建对象,在一些特殊场景下有用途。
🎈抽象方法主要作用:捕捉子类的通用特性.