public abstract class Test {
public static void test(){
}
public abstract void test();
}
我觉得这样可以的啊~~为什么编译失败。
public abstract class Test {
public static void test(){
}
public abstract void test();
}
我觉得这样可以的啊~~为什么编译失败。
方法签名:由方法名和参数数据据类型确定方法唯一性
上面两个方法方法名和参数一致,导致在编译编译过程中报错
TestMethod.java:6: 错误: 已在类 TestMethod中定义了方法 test()
public void test(){ ^ 1 个错误
这与Java的动态绑定特性有关
4 回答1.7k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
4 回答2.3k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答835 阅读✓ 已解决
2 回答1.4k 阅读
这是因为静态方法和实例方法的签名不能相同,因为java允许在实例对象上调用类静态方法,正是因为有这个允许,所以不能有相同签名的方法,看例子: