这是用记事本写的匿名内部类程序(java编程思想P197例子),用的java1.7编译器,无法编译public class Parcel{
public Contents contents(){
return new Contents(){
private int i=11;
public int value(){ return i;}
};
}
public static void main(String args[]){
Parcel p=new Parcel();
Contents c=p.contents();
}
}
public Contents contents(){
return new Contents(){
private int i=11;
public int value(){ return i;}
};
}
public static void main(String args[]){
Parcel p=new Parcel();
Contents c=p.contents();
}
}
解决方案 »
- 求助!关于JAVA线程的一个问题
- 关于一个for循环的嵌套算法
- 想做一个悬浮框,置顶于桌面(悬浮于任何桌面显示的东西之上),用Swing,请问如何写?
- 求一个给JPanel加水印的方法
- TreeCellRenderer的问题
- 删除、迭代List中的对象为什么报ConcurrentModificationException
- URL和序列化问题
- JTextPane显示水平滚动条问题
- 小妹艺术系,可学校教JAVA,一点不懂,请哪为大侠进来帮个忙呀,多谢了.
- 我做了一个APPLET,可是在IE中却不出运行结果???在线等待!!!
- FileNotFoundException疑问
- 一道面试题(请大家帮忙看一下这道题目如何作答)
适合哪种只需要使用一次的类。例如:
package com.snow.test;class P {
void add(P p) {
System.out.println("abc");
}
}
public class C extends P{
public static void main(String[] args) {
C c = new C();
c.add(new P(){
});//所选部分即为匿名内部类。它是没有名字的
}
}
public Contents contents(){
return new Contents(){
private int i=11;
public int value(){ return i;}
};
}
class Contents{
}
public static void main(String args[]){
Parcel p=new Parcel();
Contents c=p.contents();
}
}
这样就可以啦 。return new Contents(){
private int i=11;
public int value(){ return i;}
};
这里相当于class Contents的子类吧。 父类引用指向子类对象吧。这个理解,不知道对不对