对Java面向对象中多态的理解

理解的要点:多态意味着父亲的变量可以指向子类对象

面向对象程序设计的三大支柱是封装、继承和多态

封装对外把相应的属性和方法实现的细节进行了隐藏。继承关系使一个子类继承父亲的特征,并且加上了一些新的特征。子类是它的父亲的特殊化,

每一个子类的实例都是其父亲的实例,但是反过来就不成立。例如:每个圆都是一个几何对象,但并非每一个几何对象都是圆。因此,总可以将子类

的实例传给需要父亲型的参数。考虑如下的代码。

class Person{

String name = "John";

public void 谈生意(){
          System.out.println("谈生意");

}

}

class SuperMan extends Person{

String name = "superMan";

public void 谈生意(){

System.out.println("谈几个亿的大单子");

}

public void fly(){

System.out.println("超人飞出去救人");

}

}

public class Demo1{

public static void main(String [] args){

Person p = new SuperMan();    //父亲引用指向子类对象 父类引用指向子类对象就是向上转型

System.out.println(p.name);

p.谈生意();

SuperMan sm = (SuperMan)p; //向下转型

}

}

综上分析:使用父类对象的地方都可以使用子类对象。这就是通常所说的多态(polymorphism),它源于希腊文字,意思是“多种形式”)。简单来说,对态

意味着父亲型变量可以引用子类型的对象。

原文地址:https://www.cnblogs.com/taowangwang/p/9490133.html

时间: 2024-10-07 20:43:56

对Java面向对象中多态的理解的相关文章

对面向对象中多态的理解

原文:http://www.cnblogs.com/xrq730/p/4820237.html 概述 我们都知道面向对象有四个基本特性:抽象.封装.继承.多态.这四个特性,概括起来可以这么理解,抽象.封装.继承是多态的基础,多态是抽象.封装.继承的表现.多态,是Java中非常重要的一个部分,所以今天来谈一下多态(Polymorphism). 什么是多态 不同类的对象对同一消息作出不同的响应就叫做多态.就像上课铃响了,上体育课的学生跑到操场上站好,上语文课的学生在教室里坐好一样. 多态的作用 简单

Java语言中多态的理解

在深入学习Java的时候,我一直很疑惑,既然有了父类和子类的关系,为什么还要用多态,这不是多此一举嘛. 一直对这个问题搞不明白,在网上找相关的讲解视重复看了几遍,有点懂了.下面举个例子来说明一下吧. 员工类是父类,讲师类和助教类都是子类: 如果不用多态,只用子类,那么写法是: Teacher one=new Teacher(); one.work();//讲课 Assistant two =new Assistant(); two.work();//辅导 我现在唯一要做的事情,就是要调用work

Java面向对象的多态

Java中多态的概念是面向对象中除封装和继承外非常重要的知识点,也是Java面向对象三大特性最后一个特性 多态其实就是指对象存在的多种形态,多态分为引用多态和方法多态 引用多态的含义就是:父类的引用可以指向它本类的对象,不仅如此父类的引用还可以指向子类的对象,这就是引用多态 用简单的代码来看一下引用多态的含义: 动物类:Animal 1 public class Animal { 2 public Animal(){ 3 System.out.println("Animal类的构造方法被执行&q

关于python中多态的理解。

学习到多态的时候,不确定自己是否完全理解了python的多态,于是Google观看了众多资料和文献,发现很多编程大佬讲得过于抽象,不便于新手理解,这违背了python的初衷:简单. 所以我在此用通俗一点的方式作了一个总结. 先贴一段代码,在python3中举例: (为了给非科班出身以及中学英语偏科的python学习者更友好的阅读体验,w3n特意添加了中文注释,可以不细看代码,通过注释阅读,主要目的是逻辑理解,代码次要) class Human(object):  # 创建"人"类 de

Java中多态的理解

---------------------------------- 最近在学习Java,接触了 多态的概念,用了好久才 搞懂,来给大家分享一下 博主的想法: ---------------------------------- 多态,就是指一个对象在 不同时候体现出来的不同 状态: ---------------------------------- 多态的实现要有3个前提: 1.要有继承关系: 2.要有方法重写: 3父类引用指向子类对象: 即 父 f = new 子(): ---------

JavaSE入门学习18:Java面向对象之多态

一Java多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态性是对象多种表现形式的体现.比方我们说"宠 物"这个对象.它就有非常多不同的表达或实现,比方有小猫.小狗.蜥蜴等等.那么我到宠物店说"请给我一仅仅宠物", 服务员给我小猫.小狗或者蜥蜴都能够,我们就说"宠物"这个对象就具备多态性. 接下来让我们通过实例来了解Java的多态. 实例: Vegetarian.java源文件代码: <span style="font

Java面向对象的基本思想理解

1.封装:把一些数据类型(属性)和有关数据类型的操作(方法)封装起来,形成一个不可分开的实体(类):给内部的属性私有化,提供公开的方法.当外部需要访问时,可以不用管实体内部的具体逻辑关系,通过对象调用类内部的方法就行了: 优点:信息隐藏(安全性).简化操作: 例子:一个账户类,属性有:账号.密码等:方法有存钱.取钱等:因为要保护个人信息,所以将属性私有化,然后提供公开的get,set方法,这样就不用每创建一个账户就要去改账号和密码了,只需要通过这个类的实例调用get.set方法就行了. 2.继承

JAVA 面向对象的一些基础理解

方法的定义:方法就是一段可重复调用的代码段格式: 访问修饰符 返回值类型(可以是void.基本数据类型.引用数据类型) 方法名(){ 方法主体 }注意:void返回值类型不需要返回值,而其他类型都需要有返回值. 方法的重载:方法名称相同,但是参数的类型和个数不同,通过传递参数的个数和类型来完成不同功能的操作. 类和对象的关系:类是对某一事物的描述,是抽象的.概念上的意义,对象是实际存在的该类事物的每一个个体,也被称为实例类的声明格式:class 类名称{ 属性 方法 }类名 对象名=null//

Java面向对象练习题多态测试

按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和: (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n!): (4)编写测试类E,在测试类E的main方法中使用接口回调的形式来测试实现 接口的类. //Inte