我的这个JAVA画函数曲线小程序有两个类 ,编译后为何产生三个.class? 附源程序

BCB 2006-06-11 09:26:22
这个java小程序显示函数y=sin(x)曲线,很简单,但能支持两种方式运行:控制台命令方式与
Applet方式,所以有两个类 MyFrame及drawPict,但编译产生了三个类:
MyFrame.class
drawPict.class
drawPict$1.class
曾也出现过MyFrame1$1.class
这个 ....$1.class 删除就不能运行了。这是个什么东东?
...全文
188 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
BCB 2006-06-11
  • 打赏
  • 举报
回复
我是JAVA初学者,这个程序编了我几天,总算成功了.
BCB 2006-06-11
  • 打赏
  • 举报
回复
的确:这个匿名类放在Frame的构造函数中,就会产生MyFrame$1.class,
也可放在Applet的main()中,就会产生drawPict$1.class
难怪匿名类放的位置不同产生的.class也不一样!
多谢!
BCB 2006-06-11
  • 打赏
  • 举报
回复
匿名类?
runshui_1 2006-06-11
  • 打赏
  • 举报
回复
win1.addWindowListener(new
WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit( 0 );
}
});

以上程序中用了匿名类。
water2004 2006-06-11
  • 打赏
  • 举报
回复
drawPict 里面的匿名类


new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit( 0 );
}
}
另外内部类也会生成.class
BCB 2006-06-11
  • 打赏
  • 举报
回复
// drawPict.java --------------------------------
import java.lang.*; // Math
import java.awt.*; // Color
import java.awt.Graphics; // Graphics
import java.awt.event.*;

class MyFrame extends Frame
{
MyFrame(String title)
{
super(title);
}
static double f(double x) // sin()函数计算
{
return (Math.sin(x));
}
public static void draw(Graphics g,int w,int h)
{ // 画sin()的曲线
double ky=150.0;
g.setColor(Color.red);
double x0=0,dx=0.05;
int ly=0;
for (int i = 0;i<w;i++)
{
int y=(int)(ky*f(x0));
y=240-y;
if (i>0)
g.drawLine(i,ly,i+1,y);
x0=x0+dx;ly=y;
}
}
public void paint(Graphics g)
{
draw(g,getWidth(),getHeight());
}
}
//-------------------------------------------------------------------------
public class drawPict extends java.applet.Applet
{
public static void main(String args[]) // 控制台方式入口
{
Frame win1=new MyFrame("Frame1");
win1.addWindowListener(new
WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit( 0 );
}
});
int w=640,h=480;
win1.setSize(w,h);
win1.setLocation(100,100);
win1.setVisible(true);
win1.show();
}
public void paint(Graphics g)
{
MyFrame.draw(g,getSize().width,getSize().height);
}
}

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧