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

关于Java多态的初步学习

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

关于Java多态的初步学习

一、多态的概念

1.面向对象三大特性:封装、继承和多态。

2.多态是面向对象程序设计(OOP)的一个重要特征,指同一个实体同时具有多种形式,即同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。

  举一个生活中通俗易懂的例子理解多态的现实意义:

  小灰灰既是一只狼,同时也是灰太狼的儿子,羊村的学生。

  这里灰太狼的儿子和狼都是小灰灰父类的子类。

二、多态存在的前提

1.需要有继承关系

2.需要有方法覆盖

3.父类引用指向了子类的实例

三、多态的特点

1.可替换性(substitutability)。

多态对已存在代码具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。

2.可扩充性(extensibility)。

多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。

3.接口性(interface-ability)。

多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。

4.灵活性(flexibility)。

它在应用中体现了灵活多样的操作,提高了使用效率。

5.简化性(simplicity)。

多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。

四、多态的转型

多态的转型分为向上转型和向下转型。

E·g:父类Parent,子类Child
          父类的引用指向子类对象:Parent p=new Child();

向上转型:多态本身就是向上转型过的过程,即将子类对象地址赋值给父类引用,能够写出通用的代码,做出通用的编程,统一调用标准。

Parent p = new Child();//向上转型,此时,p是Parent类型

向下转型:一个已经向上转型的子类对象可以使用强制类型转换的格式,即由父类型转为子类型。这种强制转型的方法使用得较少。

 Child c = (Child)p;//此时,把Parent类型的p转成小类型Child

五、关于多态的实例

摘自:https://blog.csdn.net/m0_59861761/article/details/121705141

public class LianXi1_2 {
//使用多态
	public static void main(String[] args) {
	    //创建灯泡对象
		RedBulb r1=new RedBulb();
		GreenBulb g1=new GreenBulb();
		//创建台灯对象
		Lamp l1=new Lamp();
		//给台灯对象的属性赋值
		l1.b=r1;
		l1.b=g1;
		//调用台灯对象的方法
		l1.on();
	}
    class Lamp{//台灯类
	//灯泡是台灯的一个数据
	//定义父类类型的成员变量
	Buib2 b;
	void on() {
		if (b!=null) {b.light();}
	}
}
//抽取子类中共同数据和功能形成父类
abstract class Buib2{
	abstract void light();
}
//让所有子类继承父类
class RedBulb extends Buib2{
	//根据子类需求  实现父类方法
	void light() {
		System.out.println("红灯泡  发光:红");
	}
}
class GreenBulb extends Buib2{
	void light() {
		System.out.println("绿灯泡  发光:绿");
	}
}

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

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

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