Topic: java怎么“继承”已存在的两个类? |
Print this page |
1.java怎么“继承”已存在的两个类? | Copy to clipboard |
Posted by: jackie_yi Posted on: 2006-03-17 17:02 帮我看看这个想法有错没 java中~ 建立了两个类,类都有属性和方法。 我想在一个x类直接使用这两个类的方法。 于是我就定义一个接口包括他们所有的方法 再在x类里面实现(implements)这个接口的所有方法 而实现这些的方法都是!! 直接从原来两个类里直接复制过 来 !!(对吗?)来当方法实现 再在另个y类里面使用这个接口~使用接口时候,(要知道 借口名称和它实现的类名称) 于是这个类就可以使用继承了两个类 ,是这样的吗? |
2.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: jackie_yi Posted on: 2006-03-17 18:09 我有个问题难想的明~ 比如有两个建立好的类,我想象c++ 那样继承这两个类,我该怎么办。在书本这章我好象找不到办法。 就算写了个接口。但还是要复制原来的方法过来 不解,不见得相同的代码只编写一次那样可重用性。 我哪里出问题了。。 |
3.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: jackie_yi Posted on: 2006-03-17 18:12 比如~ 要用接口“继承”如下 两个类,我该怎么办? //Add.java public class Add{ double firstnum;double secondnum; Add(double first,double second){ firstnum=first;secondnum=second; } public void add(){ System.out.println("相加为"+(firstnum+secondnum)); } public static void main(String []args){ Add add1=new Add(12.56,45.56); add1.add(); } } //Minus.java public class Minus{ double first;double second; Minus(double first1,double second2){ first=first1;second=second2; } public void minus(){ System.out.println("相减为"+(first-second)); } public static void main(String []args){ Minus minus1=new Minus(145.65,56.5); minus1.minus(); } } |
4.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: BeanBean Posted on: 2006-03-17 21:41 把这些方法定义成为public static。不就可以使用了吗? 不过方法只能处理static的数据。 |
5.Re:java怎么“继承”已存在的两个类? [Re: BeanBean] | Copy to clipboard |
Posted by: zcjl Posted on: 2006-03-18 00:41 //Calculator.java |
6.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: caoguanghui Posted on: 2006-03-18 21:41 java好象不支持多重继承的啊! |
7.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: 学长 Posted on: 2006-03-18 22:26 唉,至今未看懂ing |
8.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: 爪哇 Posted on: 2006-03-19 09:28 用接口就可以了 |
9.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: jackyangf Posted on: 2006-03-20 17:48 接口吧,或者看看模式 |
10.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: rr253 Posted on: 2006-03-22 12:44 JAVA没有多继承吧 只有考虑接口吧 |
11.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: JAVA小陈 Posted on: 2006-03-30 22:24 用内部类可以吗? 只是自己感觉内部类应该可以的,还没有试过,大家讨论一下! 多多指教! |
12.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: zangxueyou Posted on: 2006-04-01 19:18 定义一个接口,来实现这两个类中的方法。另外我想用内部类实现应该没有问题 |
13.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: 零点 Posted on: 2006-05-12 10:22 我觉得可以考虑接口的多重继承^ |
14.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: sunjavaduke Posted on: 2006-05-12 19:16 不可以直接把两个需要被继承的类直接放在接口里 接口中不可以有已经实现了的方法 如果都定义成方法的声明,那么就需要在实现接口的类中对这些方法全部实现,可以使方法体为空(如果实在不需要这个方法) 然后实现这个借口就可以类似于继承了两个类了 但是在接口中的都是常量 |
15.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: damondeng Posted on: 2006-05-16 11:07 赞同涅槃的方法..... 因为java不支持多重继承, 当一个类需要有两个以上的"父类"的时候,需要使用接口. 涅槃的方法是定义了接口, 在接口的实现类中并不是真正实现它, 而是调用了其它类已经实现好的方法. 从模式上讲应该是个代理模式, 有一A接口, 由B类实现, 但是B类本身并没有实现其罗辑, 只是调用C类中已经实现好的罗辑. |
16.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: charm_888 Posted on: 2006-05-16 14:43 多看看别人的程序!收获不少。查漏补缺!我明白了。 |
17.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: kennye Posted on: 2006-05-20 18:15 好貼,似乎明白了一點。希望高手繼續指點一下這個問題。思考中。。。。。。 |
18.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: chengru Posted on: 2006-05-21 13:58 我虽也是才学习Java不长时间,我看了<<java编程思想>>,想引用类中的方法,你可以用继承的方法,但是最常用的方法 是组合,你可以在你的新类中,创建你想引用方法的类的对象,来引用它们的方法,这样不可以吗? |
19.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: xuyan268 Posted on: 2006-05-21 21:56 接口中的方法怎么可以在在接口中实现呢! |
20.Re:java怎么“继承”已存在的两个类? [Re: jackie_yi] | Copy to clipboard |
Posted by: hzx002 Posted on: 2006-05-28 01:56 Thinking in java 里说内部类可以实现多继承.....在第八章. |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |