这是父类
- class Animal{
- public void cry(){
- System.out.println("这是父类的cry()方法~");
- };
- }
子类 (Outer) 继承父类,实现方法重写:
- class Outer extends Animal{
- public void method(){
- Animal animal = new Animal() {
- @Override
- public void cry() {
- System.out.println("这是匿名内部类~");
- }
- };
- animal.cry();//调用cry()方法
- }
在主函数中调用Outer子类 :
- public static void main(String[] args) {
- Outer outer = new Outer();
- outer.method();
- }
首先定义一个抽象类,并且定义一个抽象方法:
- abstract class Animal {
- abstract public void cry();
- }
再定义一个类,并且实现方法重载的方法:
- class Outer {
- public void method(){
- Animal animal = new Animal() {
- @Override
- public void cry() {
- System.out.println("这是匿名内部类~");
- }
- };
- animal.cry();
- }
主函数:(与上文一致)
- public static void main(String[] args) {
- Outer outer = new Outer();
- outer.method();
- }
首先,定义一个接口:
- interface Animal {
- public void cry();
- }
再定义一个类,并且实现方法重载的方法:
- class Outer{
- public void method(){
- Animal animal = new Animal() {
- @Override
- public void cry() {
- System.out.println("这是匿名内部类~");
- }
- };
- animal.cry();
- }
- }
主函数与上文一致,省略;

相信看到这里的小伙伴对匿名内部类,已经有一定的了解了。匿名内部类的使用方法很简单,主要就是实现方法的重载,不用手动创建新的对象,系统会自己分配对象名。使用方法便捷,调用简单。