使用前面创建子类或者实现类的方式来编写代码,如下:
示例代码:
AnimalParent.java
package com.面向对象.Demo38;
public abstract class AnimalParent {
public abstract void eat();
}
Dog.java
package com.面向对象.Demo38;
public class Dog extends AnimalParent {
@Override
public void eat() {
System.out.println("Dog-eat()");
}
}
Cat.java
package com.面向对象.Demo38;
public class Cat extends AnimalParent{
@Override
public void eat() {
System.out.println("Cat-eat()");
}
}
Test.java
package com.面向对象.Demo38;
public class Test01 {
public static void main(String[] args) {
AnimalParent dog = new Dog();
AnimalParent cat = new Cat();
dog.eat();
cat.eat();
}
}
问题:上述代码如果有很多的子类,要创建很多子类,还要继承 重写父类的抽象方法
解决:使用匿名内部类(不需要创建子类或者实现类)
示例代码:
AnimalParent.java
package com.面向对象.Demo39;
public abstract class AnimalParent {
public abstract void eat();
}
Test.java
package com.面向对象.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();
}
}
上述代码使用的匿名内部类创建了3个子类,Dog,Cat,Man,可以简化了创建子类或者实现类文章来源:https://www.toymoban.com/news/detail-728474.html
下一篇文章:匿名内部类底层实现原理文章来源地址https://www.toymoban.com/news/detail-728474.html
到了这里,关于【Java】匿名内部类开发使用场景的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!