1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | abstract class Animal { public abstract String talks(); } class Pet<T extends Animal> { private T pet; public Pet(T pet) { this.pet = pet; } public String talks() { return pet.talks(); } } class Cat extends Animal { public String talks() { return "Meow"; } } class Dog extends Animal { public String talks() { return "Woof"; } } public class Main { public static void main(String[] args) { Pet<Cat> cat = new Pet<Cat>(new Cat()); System.out.println("Cat says " + cat.talks()); Pet<Dog> dog = new Pet<Dog>(new Dog()); System.out.printf("Dog says " + dog.talks()); } } |
YWJzdHJhY3QgY2xhc3MgQW5pbWFsIHsKICBwdWJsaWMgYWJzdHJhY3QgU3RyaW5nIHRhbGtzKCk7Cn0KCmNsYXNzIFBldDxUIGV4dGVuZHMgQW5pbWFsPgp7CiAgcHJpdmF0ZSBUIHBldDsKCiAgcHVibGljIFBldChUIHBldCkKICB7CiAgICB0aGlzLnBldCA9IHBldDsKICB9CgogIHB1YmxpYyBTdHJpbmcgdGFsa3MoKQogIHsKICAgIHJldHVybiBwZXQudGFsa3MoKTsKICB9Cn0KCmNsYXNzIENhdCBleHRlbmRzIEFuaW1hbAp7CiAgcHVibGljIFN0cmluZyB0YWxrcygpCiAgewogICAgcmV0dXJuICJNZW93IjsKICB9Cn0KCmNsYXNzIERvZyBleHRlbmRzIEFuaW1hbAp7CiAgcHVibGljIFN0cmluZyB0YWxrcygpCiAgewogICAgcmV0dXJuICJXb29mIjsKICB9Cn0KCnB1YmxpYyBjbGFzcyBNYWluCnsKCiAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykKICB7CiAgICBQZXQ8Q2F0PiBjYXQgPSBuZXcgUGV0PENhdD4obmV3IENhdCgpKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQ2F0IHNheXMgIiArIGNhdC50YWxrcygpKTsKCiAgICBQZXQ8RG9nPiBkb2cgPSBuZXcgUGV0PERvZz4obmV3IERvZygpKTsKICAgIFN5c3RlbS5vdXQucHJpbnRmKCJEb2cgc2F5cyAiICsgZG9nLnRhbGtzKCkpOwogIH0KCn0=
-
upload with new input
-
result: Success time: 0.03s memory: 245632 kB returned value: 0
Cat says Meow Dog says Woof


