Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用构造函数传递整数_Java_Android_Class_Constructor - Fatal编程技术网

Java 用构造函数传递整数

Java 用构造函数传递整数,java,android,class,constructor,Java,Android,Class,Constructor,好吧,那么 创建了新的僵尸变量。 private Zombie zombieA; 僵尸变量已初始化 zombieA = new Zombie(1); 在Zombie类中调用构造函数: public Zombie(int type) { this.type = type; x=200; y=100; dx=1; paintA.setColor(Color.RED);} 基本上,我希望游戏类创建一个新的僵尸,类型为1,它将通过一个开关和案例来确定要创建哪种类型的僵尸(级别1=10)。问题

好吧,那么

  • 创建了新的僵尸变量。
    private Zombie zombieA;
  • 僵尸变量已初始化

    zombieA = new Zombie(1);
  • 在Zombie类中调用构造函数:

    public Zombie(int type) {
    this.type = type;
    x=200;
    y=100;
    dx=1;
    paintA.setColor(Color.RED);}
    
基本上,我希望游戏类创建一个新的僵尸,类型为1,它将通过一个开关和案例来确定要创建哪种类型的僵尸(级别1=10)。问题是,当我运行它时,我的应用程序强制关闭,并在以下位置出现错误:

zombieA = new Zombie(1);
从初始类中,出现以下错误:

public Zombie(int type) {

来自僵尸类。我已经一遍又一遍地检查了它,但我看不出问题所在,有人注意到有什么问题吗?

您是从工作线程中调用Zombie类吗?您需要从UI线程执行此操作,这里有一些示例:

没有堆栈跟踪很难判断,但我怀疑问题出在这一行:

paintA.setColor(Color.RED);
您确定
paintA
已正确初始化吗?在我看来,它是
null
,并在构造函数中导致
NullPointerException
。如果是这种情况,请确保首先实例化它,如下所示:

paintA = new ...

堆栈跟踪?我刚才在读LogCat,上面写着java.lang.RuntimeException:无法在未调用Looper.prepare()@AlexBath-完整堆栈跟踪请:调用的行号、类和方法。您看不到问题,因为构造函数参数没有问题。我相信我是从UI线程中调用它的,。我对线程的理解充其量也很弱,但我有一个游戏类,其中有一个类GamePanel,它扩展了surfaceview并实现了runnable,我正在从run方法中调用Zombie类,谢谢,我会尝试更改它并返回给你。如果你得到“
无法在线程中创建未调用Looper.prepare的处理程序()
“你肯定不是在UI-thread上调用它。啊,总是一些小东西--。谢谢,它工作得很好。我将它设置为Paint paintA,paintB=new Paint();只需将其更改为在构造函数中初始化,谢谢你的帮助!