abstract class Test
{
public abstract int addition();
public abstract int subtration();
public abstract int multiplication();
public abstract int division();
}
class OverloadTest extends Test
{
public int addition(int x, int y)
{
return x + y;
}
public int subtration(int x, int y)
{
return x - y;
}
public int multiplication(int x, int y)
{
return x * y;
}
public int division(int x, int y)
{
return x / y;
}
public static void main(String[] args)
{
private int x = 10;
private int y = 10;
addition(x, y);
subtration(x, y);
multiplication(x, y);
division(x ,y);
}
}编译有错 请大家看看错在哪里
{
public abstract int addition();
public abstract int subtration();
public abstract int multiplication();
public abstract int division();
}
class OverloadTest extends Test
{
public int addition(int x, int y)
{
return x + y;
}
public int subtration(int x, int y)
{
return x - y;
}
public int multiplication(int x, int y)
{
return x * y;
}
public int division(int x, int y)
{
return x / y;
}
public static void main(String[] args)
{
private int x = 10;
private int y = 10;
addition(x, y);
subtration(x, y);
multiplication(x, y);
division(x ,y);
}
}编译有错 请大家看看错在哪里
{
public abstract int addition();
public abstract int subtration();
public abstract int multiplication();
public abstract int division();
}
中所有方法没带参数
{
private int x = 10;
private int y = 10;
addition(x, y);
subtration(x, y);
multiplication(x, y);
division(x ,y);
}
方法中先实例化一对象后再调用addition(x, y)等
OverloadTest o=new OverloadTest();
o.addition(10,10)
public abstract int addition();
public abstract int subtration();
public abstract int multiplication();
public abstract int division();
这四个抽象方法没有被实现。
因为public abstract int addition()和public abstract int addition(int int)是两个不同的方法。(2)
main主函数里,没有OverloadTest类的实例,不能调用该类的“非抽象”方法。
(2)
main主函数里,没有OverloadTest类的实例,不能调用该类的“非静态”方法。
{
int x,y;
public abstract int addition(x,y);
public abstract int subtration(x,y);
public abstract int multiplication(x,y);
public abstract int division(x,y);
}
class OverloadTest extends Test
{
public int addition(int x, int y)
{
return x + y;
}
public int subtration(int x, int y)
{
return x - y;
}
public int multiplication(int x, int y)
{
return x * y;
}
public int division(int x, int y)
{
return x / y;
}
public static void main(String[] args)
{
private int x = 10;
private int y = 10;
OverloadTest olt=new OverloadTest;
olt.addition(x, y);
olt.subtration(x, y);
olt.multiplication(x, y);
olt.division(x ,y);
}
}
{
private int x = 10;
private int y = 10;
addition(x, y);
subtration(x, y);
multiplication(x, y);
division(x ,y);
}to:public static void main(String[] args)
{
int x = 10;
int y = 10;
Test t = new OverloadTest();
t.addition(x, y);
t.subtration(x, y);
t.multiplication(x, y);
t.division(x ,y); }
至于为什么请你去看看书了,重点看多态这部分
共同进步
{
int x,y;
public abstract int addition(int x, int y);
public abstract int subtration(int x, int y);
public abstract int multiplication(int x, int y);
public abstract int division(int x, int y);
}
class OverloadTest extends Test
{
public int addition(int x, int y)
{
return x + y;
}
public int subtration(int x, int y)
{
return x - y;
}
public int multiplication(int x, int y)
{
return x * y;
}
public int division(int x, int y)
{
return x / y;
}
public static void main(String[] args)
{
int x = 10;
int y = 10;
OverloadTest olt=new OverloadTest();
olt.addition(x, y);
olt.subtration(x, y);
olt.multiplication(x, y);
olt.division(x ,y);
}
}
改成这样为何没输出啊 编译通过了
不光没有输出,就连+-×÷四个返回值都被扔掉啦。你得让它输出呀:
System.out.println(olt.addition(x, y));
System.out.println(olt.subtration(x, y));
System.out.println(olt.multiplication(x, y));
System.out.println(olt.division(x ,y));
改为private int x = 10;
private int y = 10;
编译器会提示错误啊
四:在静态方法中不可以申明带访问修饰符的变量(如果有修饰符只能是final),因为方法中定义的变量是局部变量。