小编Aka*_*nya的帖子

Vararg方法覆盖/重载混乱

计划1

class B
{
 public void m1(int x)
{
 System.out.println("Super class");
}
}

class A extends B
{
 public void m1(int... x)
{
 System.out.println("Sub class");
}
}

class test1
{
public static void main(String args[])
{
  B b1 = new B();
  b1.m1(10);

  A a = new A();
  a.m1(10);

  B b2 = new A();
  b2.m1(10);
}
}
Run Code Online (Sandbox Code Playgroud)

输出:

  1. 超级
  2. 超类(无法理解为什么超类?!)
  3. 超类(无法理解为什么超类?!)

计划2:

class B
{
 public void m1(int... x)
{
 System.out.println("Super class");
}
}

class A extends B
{
 public void …
Run Code Online (Sandbox Code Playgroud)

java overriding overloading variadic-functions

7
推荐指数
2
解决办法
2066
查看次数