Es ist nur Override. Der Code von ↓, den ich zuvor geschrieben habe, ändert die Verarbeitung mit Proxy in "dynamisch", dies ist jedoch nur "statisch".
[Ich möchte true auch in Java mit == 1 && a == 2 && a == 3 (graue Magie, die nicht so viel schwarze Magie ist) ausgeben - Qiita](https://qiita.com/momosetkn / items / 48039a6c0ee84f3979fa)
public class JudgeImpl2 {
public static void main(String... args) throws Exception {
{
System.out.println("Zuallererst, wenn Sie es normal ausführen ...");
JudgeImpl2 judge = new JudgeImpl2();
test(judge);
}
{
System.out.println("Wenn Sie überschreiben ...");
JudgeImpl2 judge = new JudgeImpl2() {
@Override
public boolean judge(int a ) {
return true;
}
};
test(judge);
}
}
private static void test(JudgeImpl2 judge){
System.out.println( judge.judge(1) );
System.out.println( judge.judge(2) );
System.out.println( judge.judge(3) );
}
public boolean judge(int a) {
if (a == 1 && a == 2 && a == 3) {
return true;
} else {
return false;
}
}
}
Zuallererst, wenn Sie es normal ausführen ...
false
false
false
Wenn Sie überschreiben ...
true
true
true
Recommended Posts