找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 1339|回复: 13

来道java的测试题

[复制链接]
发表于 2003-7-16 22:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

×
呵呵,上周我们java的klausur刚刚考的。虽然是一道小题,却放倒了80%的大众,偶也惨遭毒手。大家也来做做试试

class A {
   void m() {
      if (this instanceof A) {
         System.out.println(“Ich bin ein A Objekt”);
      }
      if (this instanceof B) {
         System.out.println(“Ich bin ein B Objekt”);
      }
}

class B extends A {
   void m() {
      super.m();
   }
   public static void main(String[] args) {
      A a = new B();
      a.m();
   }
}


问:输出结果是什么?并且给出理由先
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2003-7-16 22:46 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2003-7-16 23:00 | 显示全部楼层
拜托,这是道考题阿。要是上机去编译,那就根本不需要考了
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2003-7-16 23:16 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
头像被屏蔽

TA的专栏

发表于 2003-7-16 23:17 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
秋秋 该用户已被删除
发表于 2003-7-17 00:00 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2003-7-17 18:34 | 显示全部楼层
最初由 tweete 发布
[B]Ich bin ein B Objekt 吧 [/B]


呵呵,我回答的也是B Objekt ,以为产生的是B对象,那么输出的一定是B
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2003-7-17 18:36 | 显示全部楼层

回复: 答案

最初由 edc 发布
[B]output:
I... [/B]


你的答案是对的,但是考的重点不是Super,而是对象产生语句 A a = new B(); 
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2003-7-17 18:37 | 显示全部楼层
Loesung:

Ich bin ein A Objekt
Ich bin ein B Objekt

Grund :

       Zuerst wird ein B Objekt erzeugt, auf das eine Objektreferenz vom Typ A zeigt, dann wird die m Methode des Objekts B aufgerufen. Diese Methode ruft via super die m Methode von A auf. Da ein B Objekt auch gleichzeitig ein A Objekt ist, werden beide Ausgaben ausgegeben.
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
头像被屏蔽

TA的专栏

发表于 2003-7-18 00:22 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2003-7-19 11:42 | 显示全部楼层
其实这种用法特别常见特别是在Swing中 
z.B JFrame frame = new MyFrame();
其中 MyFrame() 是自己定义的窗体名。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2003-7-19 18:27 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2004-3-7 14:04 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2004-5-16 00:37 | 显示全部楼层
es geht um Polymorphie und Dynamisches Binden(überschriebene Methode),hier is also das Method m()!!!
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

Archiver|手机版|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+2, 2025-7-11 17:27 , Processed in 0.095555 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表