再定义一个类(构造函数不是默认的):
public class Wrapping {
private int i;
public Wrapping(int x) { i = x; }
public int value() { return i; }
}
先实现接口:
public class Parcel6 {
public Contents cont() {
return new Contents() {
private int i = 11;
public int value() { return i; }
}; // Semicolon required in this case
}
public static void main(String[] args) {
Parcel6 p = new Parcel6();
Contents c = p.cont();
}
}
再继承类:
public class Parcel7 {
public Wrapping wrap(int x) {
// Base constructor call:
return new Wrapping(x) {
public int value() {
return super.value() * 47;
}
}; // Semicolon required
}
public static void main(String[] args) {
Parcel7 p = new Parcel7();
Wrapping w = p.wrap(10);
}
} 作者: 何明辉 时间: 2012-8-28 09:47
楼主没有搞清楚匿名内部类是怎么来的哦。
匿名内部类其实就是继承一个类或者实现接口的子类的对象,就是借用父类名或者接口名来new出自己的对象,它其实相当于一个类继承或实现接口后创建自己的对象,只不过匿名内部类是没有自己的类名的。
匿名内部类一般用在参数传递,对象调用或者返回值上。 作者: 杨鹏鹏 时间: 2012-8-28 11:43
何为匿名内部类,就是这个类不具有属于自己的类名
只是在 new 出一个类的对象的时候,改写其中的某些方法,使之功能不同于原来的类
就是说在意义和功能上,这是一个新的类了,但是没有属于自己的类名,才被称之为匿名内部类