匿名内部类的格式
new 类名或者接口名(){
重写方法;
}
很简单匿名内部类就是类中类而且这个类还没有名子
所以匿名内部类必须继承一个接口或者是抽象类。
class ccc{}
class xxx{
final int a = 0;
public void main{
new ccc{
System.out.print(a);
}
}
}
好处是 方便访问这个类的成员变量
但是切记加final修饰。如果是1.8版本的除外
至于匿名内部类怎么用?下面是一个例子
abstract class Person {
public abstract void show();
}
class PersonDemo {
public void method(Person p) {
p.show();
}
}
class PersonTest {
public static void main(String[] args) {
//如何调用PersonDemo中的method方法呢?
PersonDemo pd = new PersonDemo ();
}
}
###10.16_面向对象(匿名内部类的面试题)
* A:面试题
*
按照要求,补齐代码
interface Inter { void show(); }
class Outer { //补齐代码 }
class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}
要求在控制台输出”HelloWorld”
知道这一题怎么做就说明你已经基本的理解了匿名内部类 和继承
明白继承和实现是理解匿名内部类的前提 |