class myWindow extends Frame{
public myWindow(String titleStr)
{
super(titleStr);
} public static void main(String[] args)
{
myWindow win = new myWindow("Test");
win.setVisible(true);
win.setLayout(null); TextArea taBox = new TextArea();
win.add(taBox);
} public void setTxt(String txt)
{
//此处taBox不可见
}}
如上代码,窗体上有一个多行文本框taBox,我想在方法setTxt()中操作taBox,但这样是不行的。
欲使taBox对setTxt()可见,只得将taBox声明为类成员,这样的话,静态方法main不能初始化taBox,必须将taBox声明为静态类成员,如下:
class myWindow extends Frame{ private static TextArea taBox; //此处必须将taBox声明为static public myWindow(String titleStr)
{
super(titleStr);
} public static void main(String[] args)
{
myWindow win = new myWindow("Test");
win.setVisible(true);
win.setLayout(null); taBox = new TextArea();
win.add(taBox);
} public void setTxt(String txt)
{
//taBox可见
}}
我想知道必须声明为 static 有什么好处?
public myWindow(String titleStr)
{
super(titleStr);
} public static void main(String[] args)
{
myWindow win = new myWindow("Test");
win.setVisible(true);
win.setLayout(null); TextArea taBox = new TextArea();
win.add(taBox);
} public void setTxt(String txt)
{
//此处taBox不可见
}}
如上代码,窗体上有一个多行文本框taBox,我想在方法setTxt()中操作taBox,但这样是不行的。
欲使taBox对setTxt()可见,只得将taBox声明为类成员,这样的话,静态方法main不能初始化taBox,必须将taBox声明为静态类成员,如下:
class myWindow extends Frame{ private static TextArea taBox; //此处必须将taBox声明为static public myWindow(String titleStr)
{
super(titleStr);
} public static void main(String[] args)
{
myWindow win = new myWindow("Test");
win.setVisible(true);
win.setLayout(null); taBox = new TextArea();
win.add(taBox);
} public void setTxt(String txt)
{
//taBox可见
}}
我想知道必须声明为 static 有什么好处?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货