5、内部类

内部类

1.普通内部类

  1. 定义

    在一个类中,我们定义其他类,这些类就被称为内部类。

  2. 特征

    • 内部类可以直接引用外部类的成员和方法,无视权限修饰符
    • 内部类在文件中以 ‘’外部类$内部类名字.class‘’ 文件形式存在

2. 匿名内部类

先看抽象类Animal:

public abstract class Animal {
	
	public String name;
	
	public Animal() {
	}
	
	public abstract String print();
	
}

再看测试类Test:

public class Test {

	public static void main(String[] args) {
		Animal animal = new Animal() {

			@Override
			public String print() {
				
				return "这是动物类";
			}
            
            public String cry() {
				
				return "呜呜";
			}
            
		};

	}
		
}

我们知道,抽象类无法直接实例化,必须有类继承抽象类并且实现里面的方法,我们上面的new操作就是创建了一个内部类,这个类是实现了Animal这个抽象类的一个内部类,只不过是没有名字罢了,所以叫匿名内部类,既然是内部类,name我们可以在其内部及创建新的方法cry();

posted @ 2023-03-06 11:43  Geek李  阅读(16)  评论(0)    收藏  举报