public abstract class Test {
public static void test(){
}
public abstract void test();
}
我觉得这样可以的啊~~为什么编译失败。
伊谢尔伦2017-04-17 18:02:38
이것은 Java가 인스턴스 객체에 대해 클래스 정적 메서드 호출을 허용하기 때문에 정적 메서드와 인스턴스 메서드의 서명이 동일할 수 없기 때문입니다. 이 권한 때문에 동일한 서명을 가진 메서드가 있을 수 없습니다. 예를 참조하세요.
으아악阿神2017-04-17 18:02:38
JVM은 누구를 처형해야 한다고 생각하시나요?
모두 일반적인 메소드라 할지라도 동일한 이름과 동일한 매개변수를 가질 수 없습니다. jvm은 바보가 될 것입니다
ringa_lee2017-04-17 18:02:38
메서드 서명: 메소드의 고유성은 메서드 이름 및 매개변수 데이터 유형
에 의해 결정됩니다.위 두 메소드의 메소드 이름과 매개변수가 일치하여 컴파일 과정에서 오류가 발생합니다
TestMethod.java:6: 오류: test()
메소드가 이미 TestMethod 클래스에 정의되어 있습니다. 으아악
Java의 동적 바인딩 기능
과 관련이 있습니다.