当前位置:  技术问答>java相关

提一个java继承方面的问题

    来源: 互联网  发布时间:2015-02-04

    本文导语:  下面是源代码 //test.java class Super {     public void methodA() {         System.out.println("Super::methodA");     }     public void methodB() {         methodA();  //大家注意这里         System.out.println("Super::methodB ...

下面是源代码
//test.java
class Super {
    public void methodA() {
        System.out.println("Super::methodA");
    }

    public void methodB() {
        methodA();  //大家注意这里
        System.out.println("Super::methodB call Super::methodA");
    }
}

class SubClass extends Super {
    public void methodA() {
        System.out.println("SubClass::methodA");
    }

    public void methodB() {
        super.methodB();
        System.out.println("SubClass::methodB call Super::methodA");
    }
}
public class Test
{
    public static void main(String[] args) {
        Super a = new Super();
        SubClass b = new SubClass();

        a.methodB();
        b.methodB();
   }
}

运行后生成的结果是:
Super::methodA
Super::methodB call Super::methodA
SubClass::methodA  (在这里是否不应该调用子类的methodA??????????)
Super::methodB call Super::methodA
SubClass::methodB call Super::methodA



|
你把我搞胡涂了,你是想说应该调用Super::methodA而不应该调用SubClass::methodA是吗?

原因是Java 中一切方法缺省都等同于C++中的virtual函数,这种调用方法正是C++中virtual的原意呀,就是可以不用管实际类型是什么,只要用基类指针去引用方法,就会自动调用适当的子类中的相同方法。

|
继承的原则是如果子类中重写父类方法,父类方法就会被屏蔽掉!除非显示调用 如 super.method(),你在子类中重写了methodA(),虽然,你显示调用父类的methodB()但没有 显示调用父类的methodA(), 子类的methodA()还会屏蔽掉父类的methodA().在执行super.metnodB()应执行的时子类的methodA().这只是我的想法,如有不对请指出!!~

    
 
 

您可能感兴趣的文章:

  • java没有多继承,用接口来实现多继承的功能,但哪里体现了多继承啊?我对接口的概念一直弄不清楚,请大家帮忙!
  • java继承的问题
  • xx.java继承yy.class,编译xx.java为xx.class时应怎样书写?(谢谢)
  • 关于java的访问控制和继承,这段话怎么理解?
  • 求java.io包中的类的继承关系!
  • 请教大家!!!java如何实现多重继承?接口该如何使用?份数可以再加,只要我明白了
  • 一个JAVA继承的问题(Thinking in JAVA里的一个例子)
  • java继承中的构造方法实例解析
  • java里有没有象vc里的sleep(1000)一样的功能的东西 当然不是实现Runnable不是继承线程类
  • 有关Java构造函数的问题之三——继承性
  • 有两个:1.class与2.java,2.java继承1.class类,要把2.java编译成2.class给如何书写!
  • 在JAVA中如何用接口实现C++的多重继承呀?帮帮忙!
  • java中 IO 常用IO操作类继承结构分析
  • 那位大虾知道javaScript的window对象是从java的什么类里继承来的?可否实现如下功能
  • 《thinking in java》一个有关继承的程序不明白,请讲一讲,谢谢
  • Java基础教程之接口的继承与抽象类
  • JAVA中阻止类的继承(官方和非官方)
  • JAVA 继承基本类、抽象类、接口介绍
  • java教程之java继承示例详解
  • 基于java中子类的继承性的应用介绍
  • 谁有java方面的毕业论文?我想做此方面的,但手头一点资料都没有
  • 关于java和财务软件方面的问题 如果有搞这方面开发的留下qq号
  • 请问各位现在搞开发都用java做哪些方面的项目,真不知道怎么学向那方面学采好.
  • 越弄java越发现自己是菜鸟,好多方面都没有涉及到?你们大家都集中在哪方面开发?顺便帮我解决个小问题?
  • 谁了解JAVA方面的认证,想考一个JAVA的认证!XIEXIE
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • 哪位有java通信方面的经验,谈谈如何利用java编写服务器程序来接受unix主机发送的数据信息?
  • 高分,谁有Java方面的毕业论文?急!!
  • 介绍一些学习JAVA SWING 方面的好书.
  • 哪里有Java 2D Graphics方面的介绍?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Java读写包括中文的txt文件时不同编码格式问题解决
  • 菜鸟的问题:java与java script 的异同??
  • java新手的问题,java高手帮忙...
  • 低级问题:.java文件交付用户怎么运行,难道也是DOS下:java xx.java?有没有.exe?
  • 请各位java高手几个java有关的问题?
  • java.sql.Date和java.uitl.Date的问题?
  • 问大哥大姐们个问题啊,小第编了自己的第一个JAVA问题。用JAVAC编译能通过啊!可是用JAVA不能执行啊!
  • 最入门级的java问题,如何运行HelloWorld.java
  • 请教一些JAVA的基本问题,初学JAVA有些迷糊,帮帮忙!总迷糊实在受不了了!
  • Linux下面的开发好的Java程序,如何部署到其他机器?开发好的Java图形程序,终端上能否用?等问题
  • 关于JAVA应用程序(Java Application)的deliver问题
  • 请Linux 和Java 的高手回答:java JDK1.3.1 在红旗Linux Desktop 2.4 的问题,一定给分。
  • 一个极其菜的问题:JAVA,VISUAL J++,JAVA SCRIPT,EJB,它们之间到底有什么关系,谢谢!
  • 我的Javac没有问题,但是java有问题,
  • 刚学习Java,请教关于Java的Application代码编写问题。
  • 我所学的是计算机,现在想学JAVA,对JAVA绝对是初学!!!可以交流的留下个地址。肯定给分,不过非完分后就是问题,问题,问题了;)有留E-mail至少1分
  • 两个非常简单的问题,给40分 (才学2天JAVA人的问题)
  • 问个简单的低级又很怪的问题,我在编译*.java的问题。
  • java学习的问题<问题解决立即结贴>?
  • 我是学pb的,有一个问题想请教各位java的朋友,j2ee平台是什么啊?如果要用这个平台的开发pb的话是否要学java??
  • 一个简单问题:JAVA中文问题
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3