标题:[求助]哭求Java匿名内部类使用方法
只看楼主
果汁珊瑚
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-8-4
 问题点数:0 回复次数:3 
[求助]哭求Java匿名内部类使用方法

我走到如今,以无任何办法。希望能解决问题的前辈们,把正确的程序写出来,我天生愚笨,望高人指点。
例1:
public class Parcel9
{
public Destination dest(final String dest, final float price)
{
return new Destination()
{
private int cost;
{
cost=Math.round(price);
if(cost>100)
{
System.out.println("Over budget!");
}
}
private String labe1=dest;
public String readLabe1()
{
return labe1;
}
};
}
public static void main(String[] args)
{
Parcel9 p=new Parcel9();
Destination d=p.dest("Tanzania", 101.395f);
}
}
例2:
public class Parcel7
{
public Wrapping wrap(int x)
{
return new Wrapping(x)
{
public int value()
{
return super.value()*47;
}
};
}
public static void main(String[] args)
{
Parcel7 p=new Parcel7();
Wrapping w=p.wrap(10);
}
}
例3:
public class Parcel8
{
public Destination dest(final String dest)
{
return new Destination()
{
private String labe1=dest;
public String readLabe1()
{
return labe1;
}
};
}
public static void main(String[] args)
{
Parcel8 p=new Parcel8();
Destination d=p.dest("Tanzania");
}
}
此三例,问题均出于找不到符号,我十再不知道Java匿名类是怎么回事,希望各位前辈细心指教一二,我将不胜感激。这个问题,我以卡住三天有余,真心求教,望各位前辈,救救我,我精神快崩溃了。
三段代码出自《Java编程思想》212页~214页。

他到底这是为什么。。。。为什么,为什么过不了。

搜索更多相关主题的帖子: 部类 Java 匿名 
2006-08-07 14:07
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
得分:0 
这三段代码不敢说对不对 但书上的也不一定就是对的!!!
所谓匿名内部类就是为内部类建立一个对象,这个对象没有名字
你了解内部类么?局部内部类呢?
这是个匿名内部类的例子 作用用来关闭窗口 你可以建立个JFrame 框架 应用下面的代码
addWindowListener(new
WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
这个就是建立一个WindowsAdapter的对象,里面实现了windowClosing方法


win32汇编
病毒 加密
目前兴趣所在
2006-08-07 14:18
果汁珊瑚
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-8-4
得分:0 

谢谢

2006-08-07 14:42
wxhwjsw
Rank: 1
等 级:新手上路
帖 子:274
专家分:0
注 册:2006-6-15
得分:0 

我也看到过这 不是很能理 其实我觉得现在不必要就去掌握这个知识 基本了解一下 能理解下面的这个例子中的内部类就可以了:
public class DirList2 {
public static FilenameFilter
filter(final String afn) {
// Creation of anonymous inner class:
return new FilenameFilter() {
String fn = afn;
public boolean accept(File dir, String n) {
// Strip path information:
String f = new File(n).getName();
return f.indexOf(fn) != -1;
}
}; // End of anonymous inner class
}
public static void main(String[] args) {
try {
File path = new File(".");
String[] list;
if(args.length == 0)
list = path.list();
else
list = path.list(filter(args[0]));
for(int i = 0; i < list.length; i++)
System.out.println(list[i]);
} catch(Exception e) {
e.printStackTrace();
}
}
}

内部类那已有注释了。。。。
等以后水平更高了 再回来理解就可以


一个人的快乐,不是因为他拥有的多,而是因为他计较的少.
2006-08-07 14:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-82594-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.258087 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved