首页 > 解决方案 > 只能在java中创建一个扩展类,其他的显然必须在自己的文件中

问题描述

我一直在尝试从一个超类中创建三个不同的扩展类。问题是只有第一个扩展类可以正常工作,而其他两个在我命名它们时出错,并且它说它们应该在自己的文件中。我环顾四周,看看是否有人有类似的问题,但没有完全像这样的问题。正在工作的扩展类是第一个名为“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;
    }
}

标签: javaextendssuperclass

解决方案


有一个简单的规则 - 1 个公共类型(类、接口、枚举)= 1 个 java 文件


推荐阅读