Considere as seguintes classes e a interface Java que ocupam arquivos separados:
package pk1;
public interface Itf {
public void m1(String s);
public void m2(String s1, String s2);
}
package pk2;
public abstract class A {
public void m1(String s1) {
System.out.println("*** " + s1);
}
public void m2(String s1, String s2) {
System.out.println("*** " + s1 + " " + s2);
}
}
package pk3;
import pk2.*;
import pk1.*;
class B extends A implements Itf {
public void m3() {
System.out.println(" B - m3 ");
}
}
package pk3;
public class C extends B {
public void m4() {
System.out.println(" C - m4 ");
}
}
package pk3;
import pk2.*;
public class D extends A {
public void m4() {
System.out.println(" C - m4 ");
}
}
Qual implementação da classe Main NÃO produz erro de compilação?
-
A import pk1.*;import pk2.*;import pk3.*;
public class Main {
public static void main(String[] args) { Itf o;
o=new B(); o.m2("Brasil"," 2023"); }}
-
B import pk1.*;import pk2.*;import pk3.*;
public class Main {
public static void main(String[] args) { Itf o;
o=new pk3.B(); o.m2("Brasil"," 2023");
}}
-
C import pk1.*;import pk2.*;import pk3.*;
public class Main {
public static void main(String[] args) { Itf o;
o=new A(); o.m2("Brasil"," 2023");
}}
-
D import pk1.*;import pk2.*;import pk3.*;
public class Main { public static void main(String[] args) { Itf o;
o=new D(); o.m2("Brasil"," 2023");
}}
-
E import pk1.*;import pk2.*;import pk3.*; public class Main {
public static void main(String[] args) { Itf o;
o=new pk3.C(); o.m2("Brasil"," 2023"); }}