什么是匿名内部类?
答:匿名内部类就是没有名字的内部类,是内部类的简化形式。匿名内部类必须继承或实现一个接口,在使用的时候直接用父类的名字创建一个子类对象并实现其中的方法,匿名内部类的实质是一个继承了该类或者实现该接口的匿名的子类对象。
前提:必须继承一个类或实现一个接口。
规则:(1)不能是抽象的,因为它的本质是一个子类对象。(2)不能定义构造方法,因为没有类名。
使用:(1)当接口中的只有一个抽象方法时,并对方法调用一次的时候(2)传递参数的时候,如果参数是接口或抽象类,其实需要的就是实现类对象或者子类对象,这个时候使用匿名内部类。
匿名对象何时使用?
答:(1)当对对象方法调用一次的时候(2)可以作为实际参数进行传递。
内部类的方法如果访问局部变量,内部类的成员变量,外部类的成员变量?
答:局部变量可以直接访问;内部类的成员变量this. ;外部类的成员变量:外部类名.this. |
|