| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- 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();
- }
- }
|