-1

我上周开始学习 Java,所以请耐心等待,因为我刚刚掌握了窍门。我正在尝试创建一个扩展 Java Robot 类的类。

我在这一行得到一个“预期标识符”:

    public ChanseyRobot(bot)

机器人类:

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.awt.MouseInfo;

public class ChanseyRobot extends Robot
{
private Robot bot;

public ChanseyRobot(bot)
{
    try
    {
        this.bot = new Robot();
    }
    catch (AWTException e)
    {
        throw new RuntimeException(e);
    }
}
}

主类:

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.awt.MouseInfo;

public class Main
{
public static void main(String args[])
    {
        ChanseyRobot robot = new ChanseyRobot(robot);
    }
}
4

4 回答 4

1

改变这个:

public ChanseyRobot(bot) { }

public ChanseyRobot(Robot bot) { }

你需要在变量名之前声明数据类型,这是一个非常基础的Java。

于 2013-02-22T15:55:27.207 回答
1

阅读Java 继承

你的班级是机器人。所以它也不需要在Robot bot内部创建一个。

public class ChanseyRobot extends Robot
{
    public ChanseyRobot()
    {
    }
}

然后只是:

ChanseyRobot robot = new ChanseyRobot();
于 2013-02-22T15:57:58.553 回答
0

您需要在构造函数中提供type of the parameter

改变

public ChanseyRobot(bot)

public ChanseyRobot(Robot bot)  throws AWTException

您还需要AWTException在构造函数声明中声明,因为Robot 的默认构造函数会抛出 AWTException。

public Robot()
      throws AWTException
于 2013-02-22T15:55:30.733 回答
0

机器人类:

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.awt.MouseInfo;

public class ChanseyRobot extends Robot
{
private Robot bot;

public ChanseyRobot()
{
    try
    {
        this.bot = new Robot();
    }
    catch (AWTException e)
    {
        throw new RuntimeException(e);
    }
}
}

主类:

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.awt.MouseInfo;

public class Main
{
public static void main(String args[])
    {
        ChanseyRobot robot = new ChanseyRobot();
    }
}
于 2013-02-22T15:59:29.973 回答