Java函数,参数为两个类

时间:2014-05-09 08:39:53

标签: java function class object

我需要做以下事情:

class A
int length, width, height;

class B
int length, width, density;

(这些类具有不同的参数非常重要)

这是架构,而不是代码。现在我想创建一个类似的功能:

function compare(class first, class second)
{
    if( first.length > second.length )
    { ... }
    else
    { ... }
}

并调用该函数:compare(A,B)

是否可以像我描述的那样做,或者存在一些更好的方法?

2 个答案:

答案 0 :(得分:0)

让课程变得平静。定义一个包含长度和宽度的超类;让它实现Comparable并传入超类只做长度和宽度的比较;然后子类获取你的A和B类,这样你就不会默认比较宽度/高度。

答案 1 :(得分:0)

首先,您定义一个超类A

public class A {
    private int length;

    public A(int length) {
       this.length = length'
    }

    public int getLength() { return length; }
}

创建两个子类,BC

public class B extends A { 
    public B(int length) {
       super(length);
    }
}

public class C extends A { 
    public B(int length) {
       super(length);
    }
}

现在您可以创建一个名为“

”的方法
public void compare(A first, A second) {
    if(first.getLength() > second.getLength()) {
         // Do something..
    }
}

这可以如下调用:

A b = new B(5);

A c = new C(6);

compare(b, c);