Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中方法的继承和重写_Java - Fatal编程技术网

java中方法的继承和重写

java中方法的继承和重写,java,Java,我正在努力解决继承问题。我有一个类结构,它由一个接口(Aeroplane)、一个抽象类(Aeroplane实现)和两个子类组成,抽象类实现了与这两个类一致的方法:一个客机和一个巨型喷气机 客机和大型喷气式飞机各有不同的燃油容量,因此包含以下字段: private static final int MAX_FUEL_CAPACITY = 49; 我编写了一个addFuel方法,它强制执行某些限制: 我最初在每节课上都有以下内容,但认为这是一种糟糕的做法,因为有很多重复: Intege

我正在努力解决继承问题。我有一个类结构,它由一个接口(Aeroplane)、一个抽象类(Aeroplane实现)和两个子类组成,抽象类实现了与这两个类一致的方法:一个客机和一个巨型喷气机

客机和大型喷气式飞机各有不同的燃油容量,因此包含以下字段:

private static final int MAX_FUEL_CAPACITY = 49;
我编写了一个addFuel方法,它强制执行某些限制:

我最初在每节课上都有以下内容,但认为这是一种糟糕的做法,因为有很多重复:

      Integer addFuel(int litres) {

    if (litres < 1) {

        throw IndexOutOfBoundsException("entered fuel volume must be greater than zero. Zero litres entered.")
    }

    if (fuelInLitres == MAX_TANK_CAPACITY) {

        throw IndexOutOfBoundsException("tank is at full capacity. Zero litres entered.") 

    }

    if (litres + fuelInLitres > MAX_TANK_CAPACITY) {

        throw IndexOutOfBoundsException("entered fuel volume is too large - tank does not have sufficient capacity. Zero litres entered.")
    }       

    fuelInLitres += litres; 
}

您应该在基类中添加一个getMaxFuelCapacity()方法,并在两个子类中为其提供两种不同的实现。然后,您将能够将addFuel()中的所有剩余逻辑移动到基类。

您应该在基类中添加一个getMaxFuelCapacity()方法,并在两个子类中为其提供两种不同的实现。然后,您将能够将addFuel()中的所有剩余逻辑移动到基类。

您应该在基类中添加一个getMaxFuelCapacity()方法,并在两个子类中为其提供两种不同的实现。然后,您将能够将addFuel()中的所有剩余逻辑移动到基类。

您应该在基类中添加一个getMaxFuelCapacity()方法,并在两个子类中为其提供两种不同的实现。然后,您将能够将addFuel()中的所有剩余逻辑移动到基类。

您应该在基类
整数addFuel(int升,int MaxCapacity)
中添加一个方法,并将整个逻辑从子类移动到基类的
addFuel(int升,int MaxCapacity)
方法,在子类中添加新方法示例

getMaxFuel(int litres){
 addFuel(litres, MaxCapcity)
 }

您应该在基类
Integer addFuel(int-lills,int-MaxCapacity)
中添加一个方法,并将整个逻辑从子类移动到基类的
addFuel(int-lills,int-MaxCapacity)
方法,并在子类中添加新方法示例

getMaxFuel(int litres){
 addFuel(litres, MaxCapcity)
 }

您应该在基类
Integer addFuel(int-lills,int-MaxCapacity)
中添加一个方法,并将整个逻辑从子类移动到基类的
addFuel(int-lills,int-MaxCapacity)
方法,并在子类中添加新方法示例

getMaxFuel(int litres){
 addFuel(litres, MaxCapcity)
 }

您应该在基类
Integer addFuel(int-lills,int-MaxCapacity)
中添加一个方法,并将整个逻辑从子类移动到基类的
addFuel(int-lills,int-MaxCapacity)
方法,并在子类中添加新方法示例

getMaxFuel(int litres){
 addFuel(litres, MaxCapcity)
 }
在抽象类中保留
addFuel()
方法

只需在抽象类中创建一个额外的抽象方法

public int getMaxFuelCapacity();// Call to this when you need MaxFuelCapacity
在子类中提供此方法所需的实现

在addFuel方法调用中
getMaxFuelCapacity()

 Integer addFuel(int litres) {
     int maxCapacity=getMaxFuelCapacity();
     // Do whatever you want to do 
 }
在抽象类中保留
addFuel()
方法

只需在抽象类中创建一个额外的抽象方法

public int getMaxFuelCapacity();// Call to this when you need MaxFuelCapacity
在子类中提供此方法所需的实现

在addFuel方法调用中
getMaxFuelCapacity()

 Integer addFuel(int litres) {
     int maxCapacity=getMaxFuelCapacity();
     // Do whatever you want to do 
 }
在抽象类中保留
addFuel()
方法

只需在抽象类中创建一个额外的抽象方法

public int getMaxFuelCapacity();// Call to this when you need MaxFuelCapacity
在子类中提供此方法所需的实现

在addFuel方法调用中
getMaxFuelCapacity()

 Integer addFuel(int litres) {
     int maxCapacity=getMaxFuelCapacity();
     // Do whatever you want to do 
 }
在抽象类中保留
addFuel()
方法

只需在抽象类中创建一个额外的抽象方法

public int getMaxFuelCapacity();// Call to this when you need MaxFuelCapacity
在子类中提供此方法所需的实现

在addFuel方法调用中
getMaxFuelCapacity()

 Integer addFuel(int litres) {
     int maxCapacity=getMaxFuelCapacity();
     // Do whatever you want to do 
 }

两个子类的addFuel方法实现是否保持不变?是的,逻辑永远不会改变,每个子类的MAX_TANK_CAPACITY字段始终不同。两个子类的addFuel方法实现是否保持不变?是的,逻辑永远不会改变,每个子类的“最大油箱容量”字段总是不同addFuel方法实现对于两个子类是否保持不变?是的,逻辑永远不会改变,每个子类的“最大油箱容量”字段总是不同addFuel方法实现对于两个子类是否保持不变?是,逻辑永远不会改变,每个子流程的“最大油箱容量”字段总是不同的,谢谢!getMaxFuelCapacity()是否不需要放在我的子类中,而不是我的抽象类中,因为每个抽象类都有单独的值,即私有静态final int MAX_FUEL_CAPACITY=49;对于客机和私人飞机,静态最终int最大燃料容量=60;大型喷气式飞机?所以这些值是不同的…您需要以您想要的方式在每个子类中提供getMaxFuelCapacity的实现。。。。我通过返回相应的
MAX\u FUEL\u CAPACITY
来提供,谢谢!getMaxFuelCapacity()是否不需要放在我的子类中,而不是我的抽象类中,因为每个抽象类都有单独的值,即私有静态final int MAX_FUEL_CAPACITY=49;对于客机和私人飞机,静态最终int最大燃料容量=60;大型喷气式飞机?所以这些值是不同的…您需要以您想要的方式在每个子类中提供getMaxFuelCapacity的实现。。。。我通过返回相应的
MAX\u FUEL\u CAPACITY
来提供,谢谢!getMaxFuelCapacity()是否不需要放在我的子类中,而不是我的抽象类中,因为每个抽象类都有单独的值,即私有静态final int MAX_FUEL_CAPACITY=49;对于客机和私人飞机,静态最终int最大燃料容量=60;大型喷气式飞机?所以这些值是不同的…您需要以您想要的方式在每个子类中提供getMaxFuelCapacity的实现。。。。我通过返回相应的
MAX\u FUEL\u CAPACITY
来提供,谢谢!Wou