Java多态的实现,简单案例
老师找同学收作业,
对象:老师Teaher,学生Student,作业HomeWork,
作业包含两个:Java 和JavaScript

老师Teacher

public class Teacher {
    public static void main(String[] args) {
        Student s = new Student();

        HomeWork h = new Java();
        System.out.println("学生完成作业情况:");
        s.TestOne(h);
        s.TestTwo(h);

        HomeWork H = new JavaScript();
        System.out.println("学生完成作业情况:");
        s.TestOne(H);
        s.TestTwo(H);
    }

}

学生Student

public class Student {
    public void TestOne(HomeWork h){
        h.homeOne();
    }
    public void TestTwo(HomeWork h){
        h.homeTwo();
    }
}

作业Homework

public abstract class HomeWork {
    public abstract void homeOne();
    public abstract void homeTwo();
}

作业—— Java

public class Java extends HomeWork{

    @Override
    public void homeOne() {
        System.out.println("学生写了关于Java的作业,但是不是很好");
    }

    @Override
    public void homeTwo() {
        System.out.println("学生提交了Java的作业");
    }
}

作业——JavaScript

public class JavaScript extends HomeWork{
    @Override
    public void homeOne() {
        System.out.println("学生写了Javascript的作业");
    }

    @Override
    public void homeTwo() {
        System.out.println("学生完成的还行");
    }
}

建立抽象类HomeWork,然后建立作业
通过继承抽象类进行重写和覆盖,
通过具体化HomeWork的子类来完成多态,
暂时没有封装在里面…kekeke