概念
抽象方法:加上abstract关键字,然后去掉大括号,直接分号结束
抽象类:抽象方法所在类,必须是抽象类,在class之前写上abstract即可。
使用
覆盖重写(实现):去掉抽象方法的abstract关键字,然后补上方法体大括号
示例代码
Animal.java
public abstract class Animal { public abstract void eat(); //具体做什么不确定 }
Cat.java
public class Cat extends Animal { @Override public void eat(){ System.out.println("猫吃鱼"); } }
DemoMain.java
public class DemoMain { public static void main(String[] args) { Cat cat = new Cat(); cat.eat(); } }
注意事项
关于抽象类的使用,以下是语法上要注意的细节。
示例代码
Animal.java
package abstractClassAndMethod; //最高的抽象父类 public abstract class Animal { public abstract void sleep(); public abstract void eat(); }
Cat.java
package abstractClassAndMethod; //子类 public abstract class Cat extends Animal { @Override public void eat(){ System.out.println("猫吃鱼"); } }
Xcat.java
package abstractClassAndMethod; //孙类 public class Xcat extends Cat{ @Override public void sleep(){ System.out.println("喵喵喵..."); } }
Ycat.java
package abstractClassAndMethod; public class Ycat extends Cat{ @Override public void sleep(){ System.out.println("呼呼呼..."); } }
DemoMain.java
package abstractClassAndMethod; public class DemoMain { public static void main(String[] args) { Ycat y = new Ycat(); y.eat(); y.sleep(); System.out.println("--------------"); Xcat X = new Xcat(); X.eat(); X.sleep(); } } 输出 猫吃鱼 呼呼呼... -------------- 猫吃鱼 喵喵喵...