Я пытался сделать три различных расширенных класса из суперкласса. Проблема в том, что только первый расширенный класс работает нормально, в то время как другие два получают ошибку, когда я их называю, и он говорит, что они должны быть в их собственном файле. Я посмотрел вокруг, чтобы увидеть, есть ли у кого-то похожая проблема, но ничего подобного нет. Первый расширенный класс, который работает, называется Smycken.
вот код:
abstract public class Vardesaker
{
private String name;
double value;
public Vardesaker(String name, double value)
{
this.name = name;
this.value = value;
}
public String getName()
{
return name;
}
abstract public double getValue();
}
class Smycken extends Vardesaker
{
private int adelstenar;
private String material;
public Smycken(String name, double value, int adelstenar, String material)
{
super(name, 0);
this.adelstenar = adelstenar;
this.material = material;
}
public int getadelstenar()
{
return adelstenar;
}
public String getMaterial()
{
return material;
}
public double getValue()
{
if(material.equalsIgnoreCase("guld"))
{
double sum = 2000 + (500*adelstenar);
value = sum*1.25;
}
else
{
double sum = 700 + (500*adelstenar);
value = sum*1.25;
}
return value;
}
}
public class Aktier extends Vardesaker
{
private double kurs;
private int amount;
public Aktier (String name, double value, int amount, double kurs)
{
super(name, 0);
this.kurs = kurs;
this.amount = amount;
}
public double getKurs()
{
return kurs;
}
public int getAmount()
{
return amount;
}
public double getValue()
{
double sum = (int) (amount*kurs);
value = sum*1.25;
return value;
}
}
public class Apparater extends Vardesaker
{
private double price;
private int slitage;
public Apparater(String name, double value, double price, int slitage)
{
super(name, 0);
this.price = price;
this.slitage = slitage;
}
public double getPrice()
{
return price;
}
public int getSlitage()
{
return slitage;
}
public double getValue()
{
double sum = price*(slitage/10);
value = sum*1.25;
return value;
}
}