Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 2307|回复: 13
打印 上一主题 下一主题

请大大解释java问题

[复制链接]

5

主题

0

好友

17

积分

初级会员

Rank: 1

跳转到指定楼层
1#
发表于 2010-7-20 07:22 PM |只看该作者 |倒序浏览
  1. public class A {
  2.     void m1(A a){
  3.         System.out.print("A");
  4.     }
  5. }
复制代码
  1. public class B extends A {
  2.      void m1(B b){
  3.         System.out.print("B");
  4.     }
  5. }
复制代码
  1. public class C extends B {
  2.     void m1(C c){
  3.         System.out.print("C");
  4.     }
  5. }
复制代码
  1. public class D extends C {
  2. void m1(D d){
  3.         System.out.print("D");
  4.     }
  5.     public static void main(String[] args) {
  6.         // TODO code application logic here
  7.         A a1 = new A();
  8.         B b1 = new B();
  9.         C c1 = new C();
  10.         D d1 = new D();

  11.         d1.m1(a1);
  12.         d1.m1(b1);
  13.         d1.m1(c1);
  14.     }
  15. }
复制代码
最后的output 是 ABC,但是我不是很清楚怎样运作. 谢谢各大大解析




收藏收藏0

51

主题

3

好友

5261

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

2#
发表于 2010-7-20 07:32 PM |只看该作者
仁兄,请问你现在在学J2SE吗?


回复

使用道具 举报

5

主题

0

好友

17

积分

初级会员

Rank: 1

3#
发表于 2010-7-20 07:39 PM |只看该作者
我还在初学当中


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

4#
发表于 2010-7-20 07:40 PM |只看该作者
最后的output 是 ABC,但是我不是很清楚怎样运作. 谢谢各大大解析
loonloon 发表于 2010-7-20 07:22 PM


你的 Class 内

  1. public class A {
  2.     void m1(A a){ // 我不理解你 Pass进 Class A 过后, 却没用 A。 你大可不必有这个 Parameter。 直接改成。
  3.         System.out.print("A");
  4.     }
  5. }

  6. // 这样。

  7. public class A {
  8.     void m1(){
  9.         System.out.print("A");
  10.     }
  11. }
复制代码

  1. public static void main(string[] args)
  2. {
  3. A  a = new A();
  4. a.mi();
  5. //基本上就能了。
  6. }
复制代码


回复

使用道具 举报

13

主题

0

好友

129

积分

高级会员

Rank: 3Rank: 3Rank: 3

5#
发表于 2010-7-20 07:52 PM |只看该作者
楼主你用的是method
然后有inheritances class的attribute
第一个就是代表会出现A
第二个就是出现B
第三个就是会出现C
第四个就是说第四个拥有C的特征(class D extends C )
        A a1 = new A();
        B b1 = new B();
        C c1 = new C();
        D d1 = new D();
这四个就是declare 出来...
d1.m1(a1);
        d1.m1(b1);
        d1.m1(c1);
这三个是output
d1.m1就是说m1里面的d1,挂号里面的a1,b1,c1就是要display的东西
放在你的第一第二第三个code
void m1(A a){
        System.out.print("A");
大致上就是这样,希望你会明白


回复

使用道具 举报

5

主题

0

好友

17

积分

初级会员

Rank: 1

6#
发表于 2010-7-20 07:54 PM |只看该作者
谢谢, 宅男-兜着走,但是我想知道当 object reference a1, b1, c1, d1 pass into
d1.mi(a1);
d1.mi(b1);
d1.mi(c1);
为什么会是 ABC


回复

使用道具 举报

13

主题

0

好友

129

积分

高级会员

Rank: 3Rank: 3Rank: 3

7#
发表于 2010-7-20 07:56 PM |只看该作者
回复 4# 宅男-兜着走


    如果要更简单,就declare好东西在上面,不要用method直接
System.out.println("你要的东西");
就好了= =
不过这位大大的做法也对,不过类似好像比较旧的写法


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

8#
发表于 2010-7-20 07:59 PM |只看该作者
回复  宅男-兜着走


    如果要更简单,就declare好东西在上面,不要用method直接
System.out.printl ...
imCobRa 发表于 2010-7-20 07:56 PM


更简单就是。
System.out.print("ABC" );
就好了。

== 什么Class 都不必写, 初学来说, 学Java 已经绕了一大圈。


回复

使用道具 举报

13

主题

0

好友

129

积分

高级会员

Rank: 3Rank: 3Rank: 3

9#
发表于 2010-7-20 07:59 PM |只看该作者
回复 6# loonloon


     A a1 = new A();
        B b1 = new B();
        C c1 = new C();
        D d1 = new D();
你自己写了啊,你把上面的
class A {
    void m1(A a){
        System.out.print("A");
a1就会display"A"出来啊
d1.mi(a1);
d1.mi(b1);
d1.mi(c1);
这个d1继承了前面的东西,所以就能跑class的啊


回复

使用道具 举报

13

主题

0

好友

129

积分

高级会员

Rank: 3Rank: 3Rank: 3

10#
发表于 2010-7-20 08:00 PM |只看该作者
回复 8# 宅男-兜着走


    哈哈,你这句赞!
直接给一个SOP= =


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-11-29 07:50 PM , Processed in 0.107968 second(s), 27 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部