package main.java.com.sf.part05.oop_05; /* 抽象类中不一定都是抽象方法,也可以是实例方法,静态方法 但是包含抽象方法的类一定是抽象类。 学习抽象方法的应用: 模板设计模式 减少了父类中定义无用的方法体 ,子类只需要重写抽象方法即可 */ public abstract class Student { // 抽象方法 没有方法体 一定需要被子类重写 public abstract void study(); // 实例方法 可以被重写 也可以不重写 public void eat(){ System.out.println("吃饭"); } public abstract String eat1(); // 静态方法不能被重写 public static void sleep(){ System.out.println("睡觉"); } } class StudentSon extends Student{ @Override public void study() { System.out.println("子类学习"); } @Override public void eat() { super.eat(); } @Override public String eat1() { return null; } public static void main(String[] args) { // 多态 Student student = new StudentSon(); student.study(); student.eat(); student.sleep(); } }