Я пытаюсь сделать игру палача для школьного задания. Нам нужен абстрактный класс, поэтому мы с моим партнером создали абстрактный класс HangmanImages.Как сделать формальные и фактические аргументы не разными по длине? Для Hangman
import javax.swing.*;
import java.awt.*;
import java.awt.image.ImageObserver;
public abstract class HangmanImages
{
private String imagename;
private ImageIcon imageIcon;
public HangmanImages(String i)
{
imagename = i;
imageIcon = new ImageIcon(i);
}
public ImageIcon getImage()
{
return imageIcon;
}
}
Мы также сделали 10 подклассов для каждого изображения.
import javax.swing.*;
import java.awt.*;
import java.awt.image.ImageObserver;
public class Hangman9 extends HangmanImages
{
private String imagename;
private ImageIcon imageIcon;
public Hangman9(String i)
{
imagename = i;
imageIcon = new ImageIcon(i);
}
public ImageIcon getImage()
{
return imageIcon;
}
}
При компиляции мы получаем фактическую ошибку, а формальные списки аргументов различаются по длине. Что это значит и как мы можем это исправить? благодаря!!
Специфическое сообщение об ошибке:
Hangman9.java:10: error: constructor HangmanImages in class HangmanImages cannot be applied to given types;
{
^
required: String
found: no arguments
reason: actual and formal argument lists differ in length
Предоставление точного сообщения об ошибке компиляции было бы полезно. – ekaerovets
Создание 10 подклассов крайне не требуется. Используйте только один подкласс и сохраняйте изображения в массиве изображений. Затем вызовите их по индексу массива. – sbowde4
Hangman9.java:10: error: constructor HangmanImages в классе HangmanImages нельзя применять к заданным типам; { ^ 0: не найдены аргументы причина: фактические и формальные списки аргументов различаются по длине – wowzacode