`
navygg
  • 浏览: 42333 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

多态的部分

阅读更多
多态:父类或接口的引用指向子类或实现类的对象;

如下:
class A
{
	public void run()
	{
		System.out.pritnln("a");
	}
}
class B extends A
{
	public void run()
	{
		System.out.pritnln("b");
	}
}
class C
{
	public static void main(String[] args)
	{
		A test = new B();
		test.run();
		
	}
}

其结果:b;、

如果上面的程序改成:

class A
{
	public void run()
	{
		System.out.pritnln("a");
	}
}
class B extends A
{
	public void run()
	{
		System.out.pritnln("b");
	}
	
	public void run2()
	{
		System.out.pritnln("b2");
	}
}
class C
{
	public static void main(String[] args)
	{
		A test = new B();
		test.run2();
		
	}
}

那么程序就会报错;


特别要注意:

多态是运行时的行为,不是编译时的行为;

分享到:
评论
1 楼 zhouhui19900814 2011-12-30  
父类的引用new子类的对象的时候父类的引用不能看到子类新增加的方法。

相关推荐

    Java学习笔记(到多态部分)

    Java学习笔记(到多态部分)

    C#多态测试C#多态测试C#多态测试

    重载不考虑返回类型,因为返回类型不是方法签名的一部分。这种特性让代码更易于阅读和理解,同时也提高了代码的复用性。 二、方法的重写(Overriding) 重写是多态性的关键体现,发生在继承关系中。当子类继承父类...

    java 多态 经典讲解

    ### Java多态经典讲解 #### 一、理解Java多态 多态,作为面向对象编程的三大特性之一,是继抽象和继承...多态不仅仅是语法糖,它是面向对象编程哲学的重要组成部分,鼓励我们思考如何以最优雅的方式组织和表达代码。

    c++教学大纲 (2).docx

    多态部分还会讨论运算符重载和虚函数,这些都是C++面向对象特性的重要组成部分。 实验环节将提供实践机会,让学生通过编程实践巩固理论知识,提高编程能力和问题解决能力。整个教学大纲注重理论与实践相结合,旨在...

    c++大纲资料.txt

    继承与多态部分涵盖了继承的基本概念,单继承与多继承的使用,以及虚函数与多态的实现。模板编程部分介绍了函数模板、类模板以及模板特化和偏特化。异常处理部分讲解了如何通过throw抛出异常,通过try-catch捕获异常...

    hibernate的多态查询

    描述部分虽然为空,但通常情况下,多态查询可能涉及到的概念包括:继承、多态性、动态类型、实体类、继承层次结构的映射、集合的多态处理等。根据给出的博客链接,我们可以推测该博客可能详细讲解了这些概念在...

    java语言程序设计 java编程笔记 由浅入深的笔记 共32份 全套资源.rar

    【完整课程列表】 ...封装和继承以及多态部分.docx 接口和抽象类以及实现类.docx 枚举enum.docx 设计模式.docx 数组.docx 网络编程.docx 线程和内部类.docx 循环和类对象.docx 异常.docx 正则表达式.docx 总结.docx

    java多态实验

    Java多态是面向对象编程中的一个核心概念,它允许...总之,Java多态是理解和掌握面向对象编程的关键部分。通过这个实验,学生将有机会亲自动手实践,加深对多态的理解,并能运用到实际项目中,提高编程效率和代码质量。

    教学视频-继承&多态

    多态是指同一种行为在不同对象上有不同的表现形式,它是面向对象的三大特性之一(封装、继承、多态)的重要组成部分。 1. 方法重载(Overloading):在同一个类中,可以定义多个具有相同名称但参数列表不同的方法,...

    多态变形技术教学_2

    本文作为多态变形技术教学系列的第二部分,旨在深入探讨高级多态变形技术的应用与实现细节。作者通过这篇教程,不仅回顾了之前的基础概念,还进一步介绍了如何在32位Windows环境下构建复杂的多态引擎。以下是对本文...

    C# 多态概念

    C#中的多态概念是面向对象编程中的一个重要组成部分。通过虚方法、抽象方法、密封类以及接口等机制,C#提供了强大的多态支持,使开发者能够构建灵活、可扩展和易于维护的软件系统。理解并熟练运用这些多态技术,对于...

    CalculateByteSum_labview_多态VI_

    接下来,我们关注计算字节之和的部分。在LabVIEW中,计算字节和通常涉及遍历数组中的每个元素,并将它们相加。对于8位无符号整数,字节的值范围在0到255之间;而对于16位无符号整数,值范围在0到65535之间。在处理...

    继承和多态.doc

    ### 继承与多态详解 #### 一、继承的概念及使用原则 **继承**是面向对象编程中的一项核心特性,它允许一个类(派生类或子类)继承另一个类(基类或父类)的属性和方法。通过继承,可以实现代码的重用,提高软件...

    VS2010 C# 多态实例

    方法重写则是继承机制的一部分,当子类继承父类时,如果子类想要改变父类中某个虚方法(Virtual)的行为,就可以重写这个方法。在C#中,使用`override`关键字标识重写的方法,以确保在运行时调用到子类的实现。同时...

    C语言实现多态链表

    在C语言中,链表的每个节点通常包含两部分:数据域(用于存储元素)和指针域(用于指向下一个节点)。多态链表则允许链表中的节点存储不同类型的数据,这在处理多种数据类型时非常有用。 为了在C语言中实现多态链表...

    Java多态的实现机制

    包含多态涉及的是小部分没有相同特征的对象。例如,父类和子类的关系,子类继承了父类的方法和属性。 例子: ```java public class Animal { public void sound() { System.out.println(" Animal makes a sound...

    c++中的多态排序模板输入输出

    在C++编程语言中,多态(Polymorphism)是一...这些概念是C++编程中的核心部分,理解和掌握它们对于编写高效、灵活的代码至关重要。在实际项目中,你可以结合这些知识点,创建更复杂的数据结构和算法,以解决各种问题。

    数据加密与多态加密综述

    2. **基于算法的多态加密**:除了密钥的变化外,还可以采用多种不同的加密算法来处理不同的数据部分。这种方法增加了加密过程的不确定性和复杂性。 3. **结合使用**:最有效的多态加密方法通常会同时考虑密钥和算法...

    c++部分简单的课件(概述,类,多态等)

    这部分内容是理解和学习C++的基础,讲解了C++如何通过面向对象编程来提高代码的组织性和可重用性。 "类.ppt"深入讨论了C++的核心概念——类。类是对象的蓝图,定义了数据成员(变量)和成员函数(方法),用于封装...

Global site tag (gtag.js) - Google Analytics