初学者的一个简单问题?

yuercf 2001-12-12 01:33:56
例:public class test extends Frame
{
public static void main(String args[])
{
test d=new test();
//在frame中增加控件,如按钮
}
public test()
{
//在frame中增加控件,如按钮
}
}
在frame中增加一个组件,如按钮、选择按钮等,可以在main()方法中,执行如下:
d.add(各种控件);
但是我看有些例子,不在main()方法中初始fram增加控件,而是构造函数中使用如下的方法增加:add(各种控件),为什么add()方法前可以省略引用的对象,省略是不是默认当前frame?不省略,在构造函数中使用:d.add(各各控件),编译时,系统提示"不能解析变量d",是什么原因?
...全文
60 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuercf 2001-12-12
  • 打赏
  • 举报
回复
为什么不可以?在其他函数中可以定义对象吗?
wwangl 2001-12-12
  • 打赏
  • 举报
回复
不要在构造函数中定义对象。
yuercf 2001-12-12
  • 打赏
  • 举报
回复
如果main()中为空,我在test()中定义对象d ,可以吗?
wwangl 2001-12-12
  • 打赏
  • 举报
回复
add方法是test从Frame中继承来得静态方法,可以在类test中用this.add()或add()使用,因为d这个对象是在main()中定义的,不能在test()中引用。
yuercf 2001-12-12
  • 打赏
  • 举报
回复
可不可在main()中不写任何代码,而在构造函数中写一些初始化代码?
yuercf 2001-12-12
  • 打赏
  • 举报
回复
能帮一个忙吗?帮主,在百忙之中
swithgirl 2001-12-12
  • 打赏
  • 举报
回复
是啊,你直接在构造函数中用ADD()可以是默认为当前FRAME,因为你的类是继承FRAME的,其实有就是super.add().
而那个报错是肯定的,因为D在你的构造函数里还没有实例话,所以当然是报错

62,614

社区成员

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

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