`

多态分析

 
阅读更多
/*
 *多态的例子分析
 *   
 */
public class ThinkingDifficult {
//       ab  B and A
	
	public static void main(String[] args) {			
		A a2 = new B();	
		B b = new B(); 
		System.out.println("ab    " + a2.show(b));
	}
}

class A {
	//public String show(B obj) {
	//	return ("A and B");
	//}	
	public String show(A obj) {
		return ("A and A");
	}
}
class B extends A {
	public String show(B obj) {
		return ("B and B");
	}
	//这是和多态有关,A a2 = new B();	调用不到show(B obj)方法,只能调用到show(A obj)或者show(A obj)重写之后的方法。
	public String show(A obj) {
		return ("B and A");
	}
	
} 

 对于A a2 = new B():

       它只能调用A类本身的方法,或者被子类重写的方法,调用不到子类的方法。

       所以System.out.println("ab   ” + a2.show(b));调用的结果是 B and A

      (B类中的show(B b)方法是方法的重载,不是重写)

 

 

 

分享到:
评论

相关推荐

    java中多态的内存分析

    在深入探讨Java中多态的内存分析之前,我们需要先理解一些基本概念。 首先,了解Java内存模型至关重要。Java程序运行时主要涉及四种内存区域:程序计数器、虚拟机栈、本地方法栈、堆和方法区(在Java 8及以后版本中...

    java的编译时多态和运行时多态

    在编译时,编译器会对代码进行分析和优化,生成相应的机器代码。在这个过程中,编译器会根据参数列表的不同来生成不同的函数名,以便在运行时正确地调用相应的函数。 例如,在 Java 中,我们可以定义两个同名的函数...

    C++多态虚表分析图解

    ### C++多态与虚表解析 #### 一、引言 C++作为一种强大的面向对象编程语言,提供了许多高级特性,其中包括多态性。多态性允许程序员编写更灵活、可扩展的代码,其中一个关键机制就是虚函数。本文将深入探讨C++中虚...

    多态的练习案例

    8. **实例分析**:在压缩包中,"上机答案"可能包含了一些多态练习的解决方案,这些方案可能涉及了以上提到的多态类型。"练习及答案"则提供了多态的实践题目和解答,可以帮助初学者加深理解。"授课源代码"可能包含了...

    c++多态机制分析(虚函数的使用机制)

    本文将对这两种多态机制进行分析,并通过具体示例深入探讨它们的工作原理。 静态多态主要体现在编译时,其核心是函数重载和模板。函数重载是指在同一个作用域内可以声明多个同名函数,它们的参数列表互不相同。这样...

    原来多态还可以这样

    由于未提供具体的压缩包文件内容,我们无法进一步分析博主的详细讲解。但是,"duotai"这个文件名可能暗示了博主讨论的多态性话题与某种特定的编程语言或技术有关,或者是一个特定的案例研究。如果有机会阅读到这个...

    Hibernate加载方式与多态加载分析

    本篇文章将探讨Hibernate的加载方式以及多态加载的概念。 首先,我们关注Session中的`load`和`get`方法。`load`方法是用于根据主键加载对象,它支持CGLIB懒加载(lazy loading)动态代理。当lazy属性设置为true时,...

    病毒和网络攻击中的多态、变形技术原理分析及对策

    病毒和网络攻击中的多态、变形技术原理分析及对策

    易语言的继承多态演示

    通过分析源码,我们可以看到具体的语法结构和编程技巧,帮助理解易语言的这些概念。 在实际编程中,继承和多态的应用非常广泛。例如,可以定义一个基础的“动物”类,包含基本属性如“名字”和“年龄”,然后创建...

    突变和多态的分析PPT学习教案.pptx

    突变和多态的分析PPT学习教案.pptx

    C++课程,多态练习题

    本文将对C++中的多态进行详细的解释和分析,通过一个典型的多态练习题,展示多态的使用方法和实践价值。 多态概述 多态是面向对象编程(Object-Oriented Programming,OOP)中一个重要的概念,它允许我们使用不同...

    c#多态 完全 通 源码

    在C#编程语言中,多态(Polymorphism)是面向对象编程的三大特性之一,另外两个是封装和继承。多态允许我们使用一个接口来表示多种类型,...通过分析和学习这些源码,开发者可以更好地掌握C#的多态机制,提升编程技能。

    关于继承和多态的简单练习

    通过查看和分析这些代码,你可以深入理解继承和多态的概念,并从中学习如何在实际项目中有效地运用它们。 总的来说,继承和多态是面向对象编程的关键要素,它们使得代码更加灵活、可扩展且易于维护。通过不断的实践...

    多态变形技术教学_2

    这些代码可以是循环、跳转等,用于迷惑分析者。 #### 转向32位 随着计算机体系结构的发展,从16位转向32位成为必然趋势。虽然硬件层面的变化较大,但许多基础概念仍然适用。了解这些变化对于顺利过渡到32位编程至关...

    C++ 多态 虚表 分析 图解 .doc

    C++ 中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技 术可以让父类的指针有“多种形态”,这是一种泛型技术...

Global site tag (gtag.js) - Google Analytics