`
JAVA天地
  • 浏览: 674342 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

二重继续,都有相同的方法,怎么样在第三层访问最顶层的同名方法?

阅读更多
二重继续,都有相同的方法,怎么样在第三层访问最顶层的同名方法?
这个问题,是我在看《Think in Java》的时候,突然想到的,不知道行不行,想测试,我没有测试通过,不知道是不行吗,还是我没有找对方法。
如下面三个类:
abstractclass A {
void p()
{
System.out.println("A");
}
}
publicclass B extends A {
void p()
{
super.p();//调用A中的p()方法
System.out.println("B");
}
}
publicclass C extends B {
/**
*怎么样在C里面,不创建新类的情况下,怎么样访问A里面p()方法?结果只打印“A”
*状态:还没有解决
*/
void p()
{
super.p();//只能够调用B中的p()方法
//super.super.p();//没有这种用法
//A a=new A();//抽象类不允许实例化
//怎么样去访问A中的p()方法?
System.out.println("C");
}

public static void main(String[] arg)

{
//new C().p();
//A a=new C();
A a=new C();//向上转型,后面的类转换为基类,与其它类转换为Object类一样
a.p();
//以上的这种操作方式打印出来的也是ABC
}

}

答案:
Donnki解决,解决方法是采用匿名内部类,可是原理还没有弄懂,希望Donnki能够回来继续说明一下原理,或者知道的朋友请补充一下。
(找到一点答案,来自群里的BOIN:匿名内部类,实际就是新建一个类继承了A.匿名内部类是默认的对被匿名的类的继承,比如常用的swing框架中的对事件的绑定 就要在匿名内部类中继承并重写ActionLinstener基类的 actionPerform方法。其实(匿名)内部类是用来解决Java回调机制的)

将C里面的main方法写成如下:
publicstaticvoid main(String[] arg)
{
//new C().p();
//A a=new C();
//A a=new C();//向上转型,后面的类转换为基类,与其它类转换为Object类一样
//a.p();
//以上的这种操作方式打印出来的也是ABC
//采用匿名内部类可以解决这个问题,结果就只有A
A a = new A(){};
a.p();
}
分享到:
评论

相关推荐

    基于MATLAB的蒙特卡罗方法求解二重积分.pdf

    在介绍蒙特卡罗方法求解二重积分的知识点之前,我们先对几个核心概念进行简要介绍。蒙特卡罗方法(Monte Carlo method),又称为统计模拟方法,是一种使用随机抽样来求解数学、物理、工程等领域问题的方法。MATLAB则...

    蒙特卡洛法计算二重积分.rar_buffalorfm_carefully24s_二重积分r编程_蒙特卡洛_计算二重积分

    《蒙特卡洛方法在计算二重积分中的应用》 在数学领域,特别是在数值分析中,二重积分的计算是一项常见的任务。对于某些复杂的函数,传统的解析求解方法可能变得非常困难,这时我们可以借助计算机进行数值计算。其中...

    蒙特卡洛方法MATLAB实现,三重积分与二重积分

    蒙特卡洛方法实现三重积分与二重积分,北邮科学计算与编程作业

    基于MATLAB的二重积分计算方法

    基于MATLAB的二重积分计算方法是数学建模和计算科学中的重要工具,尤其是在处理复杂的数值积分问题时。MATLAB提供了多种计算二重积分的方法,包括符号解法和数值解法。本文主要探讨如何在MATLAB中计算具有函数积分限...

    二重积分matlab.rar_MATLAB二重积分_二重积分_二重积分 MATLAB_二重积分MATLAB_积分 matlab

    在MATLAB中,二重积分是数值积分的一种重要应用,特别是在解决多变量函数的积分问题时。本资源提供了一个关于MATLAB实现二重积分的经典示例,旨在帮助用户理解和掌握这一功能。 MATLAB中的二重积分计算主要依赖于`...

    一种二重加密方法在信息存储上的应用.pdf

    二重加密方法在信息存储上的应用 本文主要介绍了一种基于PHP实现的二重加密方法,该方法结合MD5和DES算法,旨在保护信息在存储和处理过程中的安全性。该方法的核心是使用PHP生成的随机数作为密钥,将用户的个人信息...

    MATLAB在二重积分计算中的应用.pdf

    在MATLAB中,有两种方法可以用来求解二重积分,即数值积分方法和符号积分方法。数值积分方法是通过离散采样点进行数值近似计算,而符号积分方法则是给出一个精确的解析表达式。在实际应用中,我们可以根据需要选择...

    用C++求解二重积分

    根据给定的信息,本文将详细解析如何利用 C++ 来计算二重积分,并对代码进行逐行解释,以便更好地理解整个实现过程。 ### 一、理解二重积分 在数学中,二重积分是对二维区域上的函数求积分的过程。它可以用于求解...

    c语言实现二重积分,数值解法

    在计算机科学中,二重积分是数学分析中的一个重要概念,特别是在解决涉及面积、体积或物理问题时。C语言,作为一种强大的编程语言,被广泛用于数值计算,包括实现二重积分的数值解法。本篇文章将深入探讨如何用C语言...

    二重积分的计算方法.doc

    二重积分是多元函数微积分中的核心概念,用于计算二维空间中的面积、体积以及物理问题中的质量、转动惯量等...掌握这些方法和技术对于解决多元函数的积分问题至关重要,尤其在物理、工程和经济学等领域中有广泛的应用。

    归纳二重积分的计算方法.doc

    在直角坐标系中,对于特定类型的区域,如矩形、型区域(x型,y型)或型区域,计算二重积分有不同的方法。对于矩形区域,可以直接将其化为两个单变量的累次积分。型区域是沿着x轴或y轴对称的,可以将积分拆分为两个一...

    基于粒子群算法的二重积分方法研究.pdf

    这种方法不仅在数值计算中有应用价值,也适用于工程实际问题的解决,比如在物理、化学、经济等领域进行模型求解和数据分析。 总结来说,基于粒子群算法的二重积分方法是一种创新的数值积分技术,它通过优化节点分布...

    二重积分的计算

    本章节主要围绕二重积分的概念及其在直角坐标系下的计算方法进行讲解。 ##### 1. 直角坐标系下二重积分的基本定义 考虑一个闭合区域\(\Omega\),位于二维直角坐标系内,假设函数\(f(x,y)\)在\(\Omega\)上连续,则...

    二重积分部分练习题.doc

    二重积分部分练习题 二重积分是数学分析中的一种重要概念,广泛应用于物理、工程、经济等领域。二重积分是指对两个变量的函数进行积分,通常用来计算二维区域中的积分值。 在这份练习题中,我们将遇到各种类型的...

    一般区域二重、三重积分MATLAB计算方法.doc

    MATLAB 计算方法在一般区域二重积分和三重积分的应用 在 MATLAB 中,计算一般区域二重积分和三重积分是非常重要的。虽然 MATLAB 提供了 quad2d 函数来计算二重积分,但是对于三重积分却没有相应的函数。幸运的是,...

    二重网格算法

    二重网格算法(Two-Grid Method)是一种在数值求解偏微分方程(PDEs)中广泛应用的高效计算方法,尤其在处理大型线性系统时表现出色。该算法的核心思想是将计算过程分为两个阶段:在细网格上进行快速迭代以获得近似...

    二重网格法.zip

    二重网格法是一种高效、精确的数值方法,用于求解偏微分方程(PDEs)。这种方法在解决复杂的科学和工程问题时尤其有用,因为它能够显著提高计算效率并减小误差。在MATLAB环境中实现二重网格法,可以利用其强大的矩阵...

Global site tag (gtag.js) - Google Analytics