oop_day07_多态_20150815

2024-06-14 01:32
文章标签 多态 oop day07 20150815

本文主要是介绍oop_day07_多态_20150815,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

oop_day07_多态_20150815


1.多态:多种形态

   1)多态的意义:

      1.1)同一类型的引用指向不同的对象时,有不同的实现

            ---------cut()、run()-----行为的多态

      1.2)同一个对象被造型为不同的类型时,有不同的功能

            ---------我、水---------对象的多态

   2)向上造型:

      2.1)父类型的引用指向子类的对象

      2.2)能向上造型的类型有: 父类、所实现的接口

      2.3)能点出来什么,看引用的类型

   3)强制类型转换,成功的情况有两种:

      3.1)引用所指向的对象,就是该类型

      3.2)引用所指向的对象,实现了该接口

   4)强转失败会发生类型转换异常(ClassCastException)

      强转之前最好通过instanceof来判断引用所指向的对象是否是该类型,

      instanceof返回true或false,强转成功的条件就是instanceof为true的条件


代码示例:

package oo.day07;
//向上造型
public class UpDemo {public static void main(String[] args) {Boo o1 = new Coo(); //向上造型Coo o2 = (Coo)o1; //正确,o1所指向的对象就是Coo类型Inter3 o3 = (Inter3)o1; //正确,o1所指向的对象实现了Inter3接口//Doo o4 = (Doo)o1; //类型转换异常(ClassCastException)if(o1 instanceof Doo){Doo o5 = (Doo)o1;}}
}interface Inter3{
}
class Boo{
}
class Coo extends Boo implements Inter3{
}
class Doo extends Boo{
}


这篇关于oop_day07_多态_20150815的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058992

相关文章

JavaSE——封装、继承和多态

1. 封装 1.1 概念      面向对象程序三大特性:封装、继承、多态 。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来说就是套壳屏蔽细节 。     比如:对于电脑这样一个复杂的设备,提供给用户的就只是:开关机、通过键盘输入,显示器, USB 插孔等,让用户来和计算机进行交互,完成日常事务。但实际上:电脑真正工作的却是CPU 、显卡、内存等一些硬件元件。

【JVM】JVM栈帧中的动态链接 与 Java的面向对象特性--多态

栈帧 每一次方法调用都会有一个对应的栈帧被压入栈(虚拟机栈)中,每一个方法调用结束后,都会有一个栈帧被弹出。 每个栈帧中包括:局部变量表、操作数栈、动态链接、方法返回地址。 JavaGuide:Java内存区域详解(重点) 动态链接 动态链接:指向运行时常量池中该栈帧所属方法的引用。 多态 多态允许不同类的对象对同一消息做出响应,但表现出不同的行为(即方法的多样性)。 多态

python进阶篇-day07-高级语法与正则

day07-python其他高级语法 一. with(上下文管理) 介绍 概述 一个类只要实现了__ enter __ () 和 __ exit __ ()方法, 这个类就是一个上下文管理器类, 该类的对象 = 上下文管理器对象 目的 节约资源, 提高效率, 避免手动释放资源, 且出bug的时候, 也会自动尝试释放资源 特点 上下文管理器对象, 可以结合with语句使用

java基础总结14-面向对象10(多态)

面向对象最核心的机制——动态绑定,也叫多态 1 通过下面的例子理解动态绑定,即多态 package javastudy.summary;class Animal {/*** 声明一个私有的成员变量name。*/private String name;/*** 在Animal类自定义的构造方法* @param name*/Animal(String name) {this.name = n

OOP三个基本特征:封装、继承、多态

OOP三个基本特征:封装、继承、多态 C++编程之—面向对象的三个基本特征 默认分类 2008-06-28 21:17:04 阅读12 评论1字号:大中小     面向对象的三个基本特征是:封装、继承、多态。     封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。   封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信

泛型第三课,自定义泛型、无多态、通配符、无泛型数组

泛型没有多态 package com.pkushutong.genericity4;/*** 多态的两种形式* 注:泛型没有多态* @author dell**/public class Test01 {public static void main(String[] args) {Fruit f = new Fruit();test(new Apple());}//形参使用多态publi

Python中的方法重写与多态:解锁编程的无限可能

在编程的世界里,灵活性与扩展性往往是衡量一个语言是否强大、易于维护的关键指标。Python,作为一种被广泛使用的高级编程语言,不仅以其简洁易读的语法赢得了众多开发者的喜爱,更因其支持多种面向对象特性而备受青睐。其中,“方法重写”与“多态”便是两个核心概念,它们不仅能够极大地提高代码的复用性和可维护性,还能帮助我们构建更加灵活、健壮的软件系统。本文将通过一系列由浅入深的例子,带你一起探索这两个概念的

JAVA学习知识点1.24之SpringMVC学习Day07

SpringMVC获取Controller中的JSON数据 传递数据到界面 request.setAttribute("userName", user.getUserName()); SpringMVC传递JSON数据到界面有多中方式 1.SpringMVC传递JSON数据到界面   改HTTP协议头,改为JSON类型response.setContentType("applicatio

《C++中的面向对象编程三大特性:封装、继承与多态》

在 C++编程的广阔世界中,面向对象编程(Object-Oriented Programming,OOP)的三大特性——封装、继承和多态,犹如三把强大的利器,帮助程序员构建出高效、可维护和可扩展的软件系统。本文将深入探讨如何在 C++中实现这三大特性,并通过具体的代码示例展示它们的强大之处。 一、封装(Encapsulation) 封装是将数据和操作数据的方法封装在一个类中,以实现信息隐藏和数