在包java之外访问BaseClass?

时间:2018-02-22 04:33:56

标签: java oop inheritance file-organization

我的java程序中有一系列类如下:

src
|
|- BaseCost
|- com.jdoe.nationalcosts
    |- EntryTicketCost
    |- FlightCost
|- com.jdoe.internationalcosts
    |- HotelCost

我尝试使用BaseCost作为并延迟扩展EntryTicketCostFlightCostHotelCost的类。但是,我的IDE说它无法解析EntryTicketCost extends BaseCost。我是否以正确的方式组织文件?如果没有,我该怎么命令他们继承工作?

如果有帮助,这是BaseCost

的缩短代码
import sun.reflect.generics.reflectiveObjects.NotImplementedException;

import java.util.Arrays;
import java.util.List;

public abstract class BaseCost {
    private String id;
    private String name;
    private String description;
    private String costType;
    private int holder;

    public String getId() {...}

    public void setId(String id) {...}

    public String getName() {...}

    public void setName(String name) {...}

    public String getDescription() {...}

    public void setDescription(String description) {...}    
    public String getCostType() {...}

    public void setCostType(String costType) {...}

    public int getHolder() {...}

    public void setHolder(int holder) {...}

    public CalcValue getCalculated(int guides, int passengers){...}

    public void removeFromString(String string){...}

1 个答案:

答案 0 :(得分:2)

BaseCost不在任何包中(基本上在默认包中),因此您无法导入它。 解决方案:将BaseCost保留在某个包中并导入EntryTicketCost以及其他扩展的类。

希望得到这个帮助。