F
Frank Fredstone
What am I doing wrong here. These classes in 3 separate files, compile:
// SuperValue.java
public enum SuperValue { A, B; }
// Super.java
public abstract class Super {
abstract SuperValue method();
}
// Sub.java
public class Sub extends Super {
public SuperValue method() { return SuperValue.A; }
}
but, if I put them in packages:
// test/SuperValue.java
package test;
public enum SuperValue { A, B; }
// test/Super.java
package test;
public abstract class Super {
abstract SuperValue method();
}
// test/sub/Sub.java
package test.sub;
import test.SuperValue;
import test.Super;
public class Sub extends Super {
public SuperValue method() { return SuperValue.A; }
}
javac complains that Sub is not abstract and does not override method method.
// SuperValue.java
public enum SuperValue { A, B; }
// Super.java
public abstract class Super {
abstract SuperValue method();
}
// Sub.java
public class Sub extends Super {
public SuperValue method() { return SuperValue.A; }
}
but, if I put them in packages:
// test/SuperValue.java
package test;
public enum SuperValue { A, B; }
// test/Super.java
package test;
public abstract class Super {
abstract SuperValue method();
}
// test/sub/Sub.java
package test.sub;
import test.SuperValue;
import test.Super;
public class Sub extends Super {
public SuperValue method() { return SuperValue.A; }
}
javac complains that Sub is not abstract and does not override method method.