使用前面創(chuàng)建子類或者實(shí)現(xiàn)類的方式來編寫代碼,如下:
示例代碼:
AnimalParent.java
package com.面向?qū)ο?Demo38;
public abstract class AnimalParent {
public abstract void eat();
}
Dog.java
package com.面向?qū)ο?Demo38;
public class Dog extends AnimalParent {
@Override
public void eat() {
System.out.println("Dog-eat()");
}
}
Cat.java
package com.面向?qū)ο?Demo38;
public class Cat extends AnimalParent{
@Override
public void eat() {
System.out.println("Cat-eat()");
}
}
Test.java
package com.面向?qū)ο?Demo38;
public class Test01 {
public static void main(String[] args) {
AnimalParent dog = new Dog();
AnimalParent cat = new Cat();
dog.eat();
cat.eat();
}
}
問題:上述代碼如果有很多的子類,要?jiǎng)?chuàng)建很多子類,還要繼承 重寫父類的抽象方法
解決:使用匿名內(nèi)部類(不需要?jiǎng)?chuàng)建子類或者實(shí)現(xiàn)類)
示例代碼:
AnimalParent.java
package com.面向?qū)ο?Demo39;
public abstract class AnimalParent {
public abstract void eat();
}
Test.java
package com.面向?qū)ο?Demo39;
public class Test01 {
public static void main(String[] args) {
AnimalParent dog = new AnimalParent() {
@Override
public void eat() {
System.out.println("Dog-eat()");
}
};
dog.eat();
System.out.println("=================================");
AnimalParent cat = new AnimalParent() {
@Override
public void eat() {
System.out.println("Cat-eat()");
}
};
cat.eat();
System.out.println("=================================");
AnimalParent man = new AnimalParent() {
@Override
public void eat() {
System.out.println("Man-eat()");
}
};
man.eat();
}
}
上述代碼使用的匿名內(nèi)部類創(chuàng)建了3個(gè)子類,Dog,Cat,Man,可以簡化了創(chuàng)建子類或者實(shí)現(xiàn)類文章來源:http://www.zghlxwxcb.cn/news/detail-728474.html
下一篇文章:匿名內(nèi)部類底層實(shí)現(xiàn)原理文章來源地址http://www.zghlxwxcb.cn/news/detail-728474.html
到了這里,關(guān)于【Java】匿名內(nèi)部類開發(fā)使用場景的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!