import java.awt.*;public class demo1{ Frame f;
Panel p;
TextField t;
public static void main(String[] args){ demo2 A = new demo2(); A.setFrame(); new demo2().diao(); } public void setFrame(){ f = new Frame("测试"); p = new Panel(); f.add(p); t = new TextField("hao"); p.add(t); f.setVisible(true);
}
}class demo2 extends demo1{
public void diao(){ String s = t.getText();
System.out.println(s); }
}为什么会出现NullPointerException................如何修改呢?
希望各位能给我讲细点点,我是出学的,麻烦大家谢谢。。
Panel p;
TextField t;
public static void main(String[] args){ demo2 A = new demo2(); A.setFrame(); new demo2().diao(); } public void setFrame(){ f = new Frame("测试"); p = new Panel(); f.add(p); t = new TextField("hao"); p.add(t); f.setVisible(true);
}
}class demo2 extends demo1{
public void diao(){ String s = t.getText();
System.out.println(s); }
}为什么会出现NullPointerException................如何修改呢?
希望各位能给我讲细点点,我是出学的,麻烦大家谢谢。。
public void diao() {
TextField t=new TextField();//加上这句....
String s = t.getText();
System.out.println(s);
}
}
另:写类的时候建议第一个字母大写。
think in java 各章后练习答案.....
http://blog.csdn.net/heimaoxiaozi/
A.setFrame();
new demo2().diao();第二个demo2实例中t未初始化
A.setFrame();
new demo2().diao();第二个demo2实例中t未初始化=================================
正解!
如果你是想调用第一个demo2中的方法,应该写成A.diao();
如果你是想在几个demo2的实例中共享t,应该把t定义为静态变量。