如何从Java中的两个不同类继承1-1变量?

如何从Java中的两个不同类继承1-1变量?,java,Java,电信公司: abstract class BasicContract{ private int minute_price; private int SMS_price; } abstract class FreeSMS extends BasicContract{ private int free_sms; } abstract class Internet extends BasicContract{ private int usable_net; }

电信公司:

abstract class BasicContract{
    private int minute_price;
    private int SMS_price;
}

abstract class FreeSMS extends BasicContract{
    private int free_sms; 
}

abstract class Internet extends BasicContract{
    private int usable_net;
}
人们可以购买不同类型的包装。有一些合同,客户可以:

-通话和发送短信

class OldStyle extends BasicContract{
    ...
}
-通话,发送短信,并有一些免费短信可以发送

class NeedSMS extends FreeSMS{
    ...
}
-聊天、发短信、上网

class NeedInternet extends Internet{
    ...
}
我想要一个合同什么包括交谈,发送短信,有免费短信和可以上网

在C++中,它将是:

class NeedSMSAndInternet: public FreeSMS, public Internet{
    ...
}

我应该如何在Java中实现这一点?正如我所看到的,接口不能有变量,只能有方法,在Java中没有多个父类…

组成一个同时接受变量和方法而不是扩展的类。在Java中,您应该更喜欢组合而不是继承链。您不应该考虑继承字段,而应该考虑继承方法,这些方法可以在接口中定义,例如
getSmsPrice()
setsmprice(double price)
等。这是家庭作业吗?因为你根本不应该这么做。您不希望每次他们添加新计划时都必须重写代码。在现实世界中,OO继承用于固定的计算机抽象,如套接字、GUI元素、I/O流和c。不适用于客户、员工或产品,当然也不适用于表达其不同且不断变化的角色和内容。