方法的困惑,如何重载怎么覆盖
有如下代码:
class A
{
static B bClass = new B();
static String setString(String str)
{
return str;
}
public static void main(String[] args)
{
System.out.println(setString("TEST......"));
System.out.println(bClass.printStr("B TEST......"));
}
}
class B extends A
{
static A classA = new A();
String printStr(String s)
{
return s;
}
}
控制台会这样输出:
TEST......
B TEST......
这是另外一段代码:
public class MainFrame
{
SetLabelTest newLabelText = new SetLabelTest();
public void buildMainFrame()
{
//实现一个JFrame,并且加入一个JLable
}
public void setLabelText(String text)
{
//使用JLabel的setText()方法令JLabel显示字符串
}
}
public class SetLabelTest extends MainFrame
{
MainFrame theFrame = new MainFrame();
public void labelText()
{
theFrame.setLabelText("New Text......");
}
}
当在MainFrame这个类中实现newLabelText.labelText()的时候,程序报告如下错误:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
这是怎么回事呢?
为什么setText()方法不能被重载?
相关连接:方法的困惑,问题的核心
No comments:
Post a Comment