Code: Select all
InfraFacade
Code: Select all
classExample1
"Duplikatische Methode Sayhello () in Typ Infrafrafacade java (67109219)"
Hier sind meine Umgebungsdetails:
[*] VSCODE -Erweiterung: Erweiterungspaket für Java 0.29.0
[*] Java-Version: 1.8.0_412-412
[*] Lombok-Version: 1.18.30
< /ul>
import lombok.experimental.Delegate;
public class Main {
public static void main(String[] args) {
InfraFacade infraFacade = new InfraFacade();
infraFacade.sayHello();
}
}
class InfraFacade implements IInfraFacade {
@Delegate
private Class1 classExample1 = new Class1();
@Delegate
private Class2 classExample2 = new Class2();
}
interface IInfraFacade extends IClass2, IClass1 {
}
interface IClass1 {
void sayHello();
}
interface IClass2 {
void sayHello();
}
class Class1 implements IClass1 {
public void sayHello() {
System.out.println("Hello! 1");
}
}
class Class2 implements IClass2 {
public void sayHello() {
System.out.println("Hello! 2");
}
}
< /code>
Basierend auf Online -Forschung habe ich gelernt, dass für Methoden, die über die @Delegate -Annotation mit identischen Signaturen generiert wurden, die in der Klasse explizit definierte Methode Vorrang hat. Darüber hinaus wird unter den von den Delegate generierten Methoden, die zuerst deklariert wurden, angewendet. Aus diesem Grund kompiliert und läuft das Programm korrekt. Oder unterdrücken Sie diese doppelte Methodenwarnung in VSCODE, ohne meinen vorhandenen Code zu ändern? Ich melde das Problem an? Das Protokoll war nicht klar, welches Plugin diesen Fehler verursacht. P>