InstanceOf关键字不';t在javaapplet中工作
有人能告诉mo为什么这个代码生成false而不是生成true。。。。代码中有错误吗。。我正在尝试使用InstanceOf关键字不';t在javaapplet中工作,java,applet,keyword,instanceof,Java,Applet,Keyword,Instanceof,有人能告诉mo为什么这个代码生成false而不是生成true。。。。代码中有错误吗。。我正在尝试使用instanceof关键字 import java.awt.*; import java.applet.*; import java.awt.event.*; public class CheckInstanceOf extends java.applet.Applet { TextField print; public void init() {
instanceof
关键字
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class CheckInstanceOf extends java.applet.Applet
{
TextField print;
public void init()
{
print=new TextField(check_forInstance());
add(print);
}
public String check_forInstance()
{
if(print instanceof TextField)
{
return "true";
}
else
{
return "false";
}
}
}
如果我没记错的话,在初始化对象之前,您正在检查print是否是文本字段。您可能应该重新设计它,这样它就不需要instanceOf,但可以尝试创建
print=newtextfield()代码>然后设置为真或假 在实际创建之前,您实际上正在进行instanceof
测试。您是在调用init()
方法之前进行测试的,因此print
应该是null
因此,正如@user3580294所说,(TextField的null instanceof)=false
这就是为什么print
是null
而null不是TextField的实例。只是一个建议:不要使用instanceof操作符。
(null instanceof TextField)==false
是否实际调用了init()
?(1) 在对Java有了透彻的了解之前,不要使用小程序,(2)使用import
的目的是不必使用类的全名。ohoo。。。。。是的,我忘了..空引用。。非常感谢。@chrylis尝试编译并运行代码它成功运行了…如何编译并运行?