在使用像int这样的基本类型时如何在java中创建多态?

时间:2015-01-17 14:24:03

标签: java polymorphism

我是Java编程的新手,所以如果有任何误用,请提醒并原谅我。 在处理类类型时我可以创建多态,比如说:

    class A{}
    class B{}

    void method(Object obj){
    if (obj instanceof A) {}
    else if (obj instance of B){}
    else {}
}

我可以传递不同的类来调用method()的不同部分,但是当处理像int这样的基本类型时,它不会从Object继承。

我知道这实际上并不是严格的多态,因为没有覆盖。也许,泛型编程是一个更合适的名称,但我不知道这是否正确。

2 个答案:

答案 0 :(得分:0)

您可以定义几个具有相同名称和不同参数类型的方法:

void method(int a) {}
void method(long a) {}
void method(double a) {}

@ByteCommander提到它被称为重载 我想这就是你的意思。在这种情况下,当您致电:

int a = 1; method(a);

您将执行第一个定义的方法。等等...

答案 1 :(得分:0)

如果您尝试使用基本数据类型执行您正在谈论的内容(这不是多态性),您可以尝试使用整数而不是整数。 int是原始数据,按其值存储。整数是一个类,具有一个的所有功能(加上自动装箱/拆箱,但不要担心)。

因为Integer是一个类,你可以扩展它并用你的实例来做你正在谈论的事情。

还有(长)s,(双)s,(布尔)s等等