-1

私は先週 Java を学び始めました。Java Robot クラスを拡張するクラスを作成しようとしています。

この行に「Identifier Expected」が表示されます。

    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

Java継承について読んでください

あなたのクラスはロボットです。Robot botしたがって、内部的にも作成する必要はありません。

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

そして、ちょうど:

ChanseyRobot robot = new ChanseyRobot();
于 2013-02-22T15:57:58.553 に答える
1

これを変える:

public ChanseyRobot(bot) { }

public ChanseyRobot(Robot bot) { }

変数名の前にデータ型を宣言する必要があり、これは Java の非常に基本的なものです。

于 2013-02-22T15:55:27.207 に答える
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 に答える
0

コンストラクターでを指定する必要があります。type of the parameter

変化する

public ChanseyRobot(bot)

public ChanseyRobot(Robot bot)  throws AWTException

また、 Robot のデフォルト コンストラクターが AWTException をスローするAWTExceptionため、コンストラクター宣言で宣言する必要があります。

public Robot()
      throws AWTException
于 2013-02-22T15:55:30.733 に答える