`
275553385
  • 浏览: 721882 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
文章分类
社区版块
存档分类
最新评论

java-多态 (转)

阅读更多
1、多态(Polymorphism):父类型的引用可以指向子类的对象。

理解:一个父亲有很多个孩子,每个孩子都有自己的形态。父亲可以引用每个孩子的形态。

子类就是父类。玫瑰是花,男人是人。

Rose rose = new Rose();

Flower rose = new Rose();

Parent p = new Child();

 

2、当使用多态方式调用方法时,首先检查父类中是否有sing()方法,如果没有则编译错误;如果有,再去调用子类的sing()方法。

记住,指向谁就调用谁的方法。

强制类型转换的两种类型:

l  向上类型转换(子类到父类):可以不把(Parent)写出来。显示的,甚至连转换语句都可以不写出来。

l  向下类型转换(父类到子类):必须把(Child)写出来。

(为什么要向下类型转换,为了调用子类中新加的方法)

 

3、向上类型转换

Cat cat = new Cat();

Animal animal = (Animal)cat; cat指向的是Cat,它可以指向父类Animal

 

4、向下类型转换的必要条件:指向必须正确

(1)Parent p = new Child();//p指向的是Child

Child c = (Child)p;//可以把p转换成Child

p指向的是谁,它就能转换成谁。

 

(2)Animal animal = new Animal();

Cat cat = (Cat)animal;

这种强制类型转换是错误的,不能把一只动物强制转换为一只猫,不能把父类的强制转换成子类的。

animal指向的是Animal,它不能转换成子类Cat。

 

5、多态的作用:在引用子类的方法是,可以传父类的一个对象过去就行了。

在实际开发中用得非常多
分享到:
评论

相关推荐

    Java ------ 多态作业

    Java ------ 多态作业

    10-JAVA-多态

    JAVA多态思维导图,便捷整理思路,多态的好处、多态的语法格式、多态中的两种类型转换:向上转型、向下转型

    Java-多态--学习笔记.docx

    Java中的多态性是面向对象编程的一个核心特性,它允许我们设计更加灵活和可扩展的代码。在Java中,多态性(Polymorphism)主要体现在两个方面:方法的重写(Overriding)和接口的实现(Interface Implementation)。...

    JAVA面向对象-多态(完结)

    JAVA面向对象---多态(完结)

    Java基础精品课11-多态录屏5.多态调用演示.mp4

    Java基础精品课11-多态录屏5.多态调用演示.mp4

    Java基础精品课11-多态录屏6.instanceof和转型.mp4

    Java基础精品课11-多态录屏6.instanceof和转型.mp4

    Java零基础-多态.md

    ### Java零基础-多态 #### 内容概要 本文旨在深入浅出地介绍Java中的多态(Polymorphism)这一核心概念及其具体应用。读者不仅能够理解多态的基本含义,还能掌握如何在实际编程中运用多态,提高代码的灵活性和可...

    黑马程序员 - Java基础教学 - 08 - 面向对象(4)-多态.doc

    Java基础教学 - 面向对象(4)- 多态 在本文中,我们将讨论Java语言中的一种重要概念 —— 多态(Polymorphism)。多态是面向对象编程(OOP)中的一个核心概念,它允许我们编写更加灵活和可扩展的代码。 一、多态...

    Java基础精品课11-多态录屏1.作业讲解1.mp4

    Java基础精品课11-多态录屏1.作业讲解1.mp4

    Java基础精品课11-多态录屏3.作业讲解3.mp4

    Java基础精品课11-多态录屏3.作业讲解3.mp4

    Java基础精品课11-多态录屏2.作业讲解2.mp4

    Java基础精品课11-多态录屏2.作业讲解2.mp4

    Java实验-多态.docx

    在Java中,多态主要分为编译时多态和运行时多态。编译时多态主要是通过方法重载(Overloading)实现,即在同一个类中定义多个同名但参数列表不同的方法。运行时多态则是通过方法重写(Overriding)来实现,子类可以...

    JAVA面向对象基础测试题-继承-封装-多态等测试题.docx

    3. **多态**:多态是指允许不同类的对象对同一消息作出响应,即同一操作作用于不同的对象,可以有不同的解释,会产生不同的执行结果。多态性提高了软件的可扩展性和可维护性。 ### 具体题目解析 #### 题目1:局部...

    java编程第八讲----多态

    第八讲 多态 1、再谈向上类型转换(upcasting) 忘记对象的类型 2、多态机理 方法绑定(method binding) 产生正确的行为 可扩展性 陷阱:置换私有方法 3、抽象类与抽象方法 4、构造方法与多态 ...

    Java基础精品课11-多态录屏4.静态方法不能被覆盖.mp4

    Java基础精品课11-多态录屏4.静态方法不能被覆盖.mp4

    day02-多态&抽象类&接口

    day02-多态&抽象类&接口

    java实验报告(2)-多态和继承

    **Java实验报告(2)-多态和继承** 在Java编程语言中,多态和继承是面向对象设计的核心概念,它们极大地增强了代码的灵活性、可重用性和可扩展性。本实验报告将深入探讨这两个关键特性,并通过具体的实例来演示它们...

    0509-多态巩固.zip

    在Java、C#、Python等面向对象的语言中,多态主要体现在以下几个方面: 1. 方法重载(Overloading):在同一个类中,方法名相同但参数列表不同的多个方法。编译器根据传入的参数类型和数量来决定调用哪个方法,这在...

    java面向对象-多态.docx

    在Java中,多态主要通过接口和继承机制来实现。多态使得代码更加灵活和可扩展,能够更好地应对需求变化。 #### 二、实验目的 本次实验旨在让Java初学者掌握以下知识点: 1. **接口**:了解接口的概念、作用以及如何...

    java基础-java多态详解

    Java 多态详解 Java 多态是 Java 编程语言中的一种基本概念,它允许开发者定义一个接口,并且可以通过不同的类来实现该接口。多态性是 Java 面向对象编程的核心机制之一,它使得程序更加灵活、可维护和可扩展。 ...

Global site tag (gtag.js) - Google Analytics