小编Roc*_*cky的帖子

的System.out.println( "ABC" + 3 + 2); 为什么输出是abc32而不是abc5?

可能重复:
java中ParseInt收到的int和int之间的差异

的System.out.println( "ABC" + 3 + 2); //输出:abc32

的System.out.println(3 + 2 + "ABC"); //输出:5abc

是什么原因 ?

java core

4
推荐指数
1
解决办法
2万
查看次数

Java运行时多态性不适用于不同的参数类型

我有3个不同的班级,

public class Parent {
    public void add(double a, double b) {
        System.out.println("Parent class add(double double)");
    }

public class Child extends Parent {
    public void add(long a, long b) {
        System.out.println("Child class add(long long)");
    }
}

public class Test {
    public static void main(String arr[]) {
        Parent parent = new Child();
        parent.add((long)System.currentTimeMillis(), (long)System.currentTimeMillis());
    }
}
Run Code Online (Sandbox Code Playgroud)

输出应该是Child类add(long long),但不是这样,它显示Parent类add(double double)

但是当我在父类中添加子类的add方法时,它显示正确的输出.任何人都可以告诉我原因.

java polymorphism overriding overloading

2
推荐指数
1
解决办法
284
查看次数

标签 统计

java ×2

core ×1

overloading ×1

overriding ×1

polymorphism ×1