栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

学习17天,掌握java多态

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习17天,掌握java多态

今天学习多态,内容很多,也很抽象,还好最后还是掌握了!下面给大家介绍一下!

多态就是多种状态:同一个行为,不同的子类表现出来不同的形态。
同一个引用类型,使用不同的实例而执行不同操作 !

多态的好处:

为了提高代码的扩展性,符合面向对象的设计原则:开闭原则(指的就是扩展是开放的,修改是关闭的。)

多态有三个要素:

继承:子类继承父类

重写:子类对父类方法的重写

父类引用指向子类对象;

多态有向上转型和向下转型两种;我们目前应用向上转型多一些,先介绍一下!

向上转型:

 子类对象应用父类类型
  1、父类中的方法被子类重写
  2、在别的类中,有一个参数为父类内型的方法,调用了被重写的方法
  3、调用时(传递实参时),实参是子类对象,那么就会调用该子类对象重写后的方法

<父类型> <引用变量名> = new <子类型>();
此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法
此时通过父类引用变量无法调用子类特有的方法;

向下转型:

需要调用子类特有的方法;将一个指向子类对象的父类引用赋给一个子类的引用,即:父类类型转换为子类类型。需强制类型转换;

 <子类型> <引用变量名> = (<子类型> )<父类型的引用变量>;
在向下转型的过程中,如果没有转换为真实子类类型,会出现类型转换异常;
用instanceof判断,减少在向下转型的过程中,没有转换为真实子类类型的类型转换异常;

 使用instanceof时,对象的类型必须和instanceof后面的参数所指定的类在继承上有上下级关系,(用于判断一个引用类型所引用的对象是否是一个类的实例)

抽象方法和抽象类:  abstract

抽象类:public abstract class Pet { 
       public void toHospital() {
       }
}

抽象方法public abstract void print();

 抽象方法没有方法体
抽象方法必须在抽象类里
抽象方法必须在子类中被实现,除非子类是抽象类

抽象类不能建立对应的实例;

Object类:Object类是所有类的父类


其实前两个重写的多一些,先说toString();

toString();比较简单,先用alt+insert,然后选择toString();按下图操作,就会产生一个toString()方法,你把它改成你想要的就可以了!下面一个是我改的!

 

 equals.()其实和==作用差不多,下面看看我的改下!

 今天差不多了,下次再见!

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/425281.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号