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
public interface Calculator {
public void add();
public void minus();
}

//MyCalculatorAdapter.java
public class MyCalculatorAdapter implements Calculator {
private Add addOperator;
private Minus minusOperator;
public MyCalculatorAdapter(Add addOperator, Minus minusOperator) {
this.addOperator = addOperator;
this.minusOperator = minusOperator;
}
public MyCalculatorAdapter(double arg1, double arg2) {
this.addOperator = new Add(arg1, arg2);
this.minusOperator = new Minus(arg1, arg2);
}
public void add() {
addOperator.add();
}
public void minus() {
minusOperator.minus();
}
}

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