前言
我们在开始学习Java过程中,可能会遇到一些比较难以理解的知识点!比如在Java四大特点中的多态性,可能有一部分同学在这里会卡壳,下面是根据我自己的理解并结合视频学习总结的关于多态性的理解
一个例子
1.关于多态的故事:新学期开学了,学校迎来了一些新同学,有一年级、二年级的、三年级的等各年级的同学,但是作为新同学不知道具体年级在哪,于是我们可以去问学校门口的指导员,指导员知道具体年级应该怎么走。
2.故事分析:我们知道无论是多少年级,最终都有一个共同特征,就是都是“年级”(父类);于是我们就可以把不同年级的学生看成是多种形态(子类);之后指导员知道所有年级(父类变量),也就知道了新同学要去的指定年级(子类对象空间)。
3.多态的理解:多态其实就是一种事物存在多种形态,在程序逻辑中,多种形态都拥有共同特征,可以将共同特征看做是他们的父类其他多种形态看作是他们的子类,使子类继承父类(子类和父类具有共同的重写方法)。
4.实现:通过父类变量指向子类对象空间来完成子类重写方法的调用。
程序实现
1.文件结构
讯享网
2.Grage类
public class Grade {
public void show(){
System.out.println("我是共同!!!"); } }
讯享网
3.Grade1类
讯享网public class Grade1 extends Grade{
public void show(){
System.out.println("我是一年级!!!"); } }
4.Grade2类

public class Grade2 extends Grade{
public void show(){
System.out.println("我是二年级!!!"); } }
5.Grade3类
讯享网public class Grade3 extends Grade{
public void show(){
System.out.println("我是三年级!!!"); } }
6.Inductor类
public class Inductor {
private Grade grade; public Inductor() {
} public Inductor(Grade grade) {
this.grade = grade; } public Grade getGrade() {
return grade; } public void setGrade(Grade grade) {
this.grade = grade; } public void showGrade(){
grade.show(); } }
7.PolyTest测试类
讯享网public class PolyTest {
/ * 1.关于多态的故事:新学期开学了,学校迎来了一些新同学,有一年级、二年级的、三年级的等,但是作为新同学不知道具体年级在哪, * 于是我们可以去问门口的指导员,指导员知道具体年级应该怎么走。 * 2.故事分析:我们知道无论是多少年级,最终都有一个共同特征,就是都是“年级”(父类);于是我们就可以把不同年级的学生看成是 * 多种形态(子类);之后指导员知道所有年级(父类变量),也就知道了新同学要去的指定年级(子类对象空间) * 3.多态的理解:多态其实就是一种事物存在多种形态,在程序逻辑中,多种形态都拥有共同特征,可以将共同特征看做是他们的父类 * 其他多种形态看作是他们的子类,使子类继承父类(子类和父类具有共同的重写方法) * 4.实现:通过父类变量指向子类对象空间来完成子类重写方法的调用 * @param args */ public static void main(String[] args) {
Inductor inductor=new Inductor();//相当 Grade1 grade1=new Grade1(); Grade2 grade2=new Grade2(); Grade3 grade3=new Grade3(); inductor.setGrade(grade2);//使得父类变量指向子类对象空间 inductor.showGrade(); } }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/50767.html