InstanceOf关键字不';t在javaapplet中工作

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() {

有人能告诉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()
      {
          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尝试编译并运行代码它成功运行了…如何编译并运行?