Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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:OOP,多个扩展_Java_Oop_Inheritance_Interface_Polymorphism - Fatal编程技术网

Java:OOP,多个扩展

Java:OOP,多个扩展,java,oop,inheritance,interface,polymorphism,Java,Oop,Inheritance,Interface,Polymorphism,有没有Java的方法可以让我 一类具有 汽车加油的实现 还必须实现driveFast和moveLoad 从多个类扩展是不可能的,将CAR作为接口并不能在CAR中实现。您的Java类只能扩展一个父类,但它可以实现多个接口 您的类定义如下: abstract class CAR fuelUp () { // implemented } / \ interfa

有没有Java的方法可以让我 一类具有

  • 汽车加油的实现
  • 还必须实现driveFast和moveLoad

从多个类扩展是不可能的,将CAR作为接口并不能在CAR中实现。

您的Java类只能扩展一个父类,但它可以实现多个接口

您的类定义如下:

                  abstract class CAR
                       fuelUp () { // implemented }
                  /            \
interface SPORTER               interface TRUCK
    driveFast ();                    moveLoad ();
有关更多帮助,请参阅:

您的Java类只能扩展一个父类,但它可以实现多个接口

您的类定义如下:

                  abstract class CAR
                       fuelUp () { // implemented }
                  /            \
interface SPORTER               interface TRUCK
    driveFast ();                    moveLoad ();
有关更多帮助,请参阅:

如前所述,您可以扩展一个类并实现多个接口。在Java8+中,这些接口可以有默认实现

但除此之外,您还可以使用SPORTER的各种实现。您可以通过组合使用SporterAlpha实现

class ESTATE extends CAR implements SPORTER, TRUCK {}
必要时重复上述步骤,以暴露所有必要的SporterAlpha方法

因此,您可以:

  • 从不超过一个超类继承
  • 根据需要实现尽可能多的接口
  • 在Java 8的接口上使用默认实现+
  • 适当地使用构图

如前所述,您可以扩展一个类并实现多个接口。在Java8+中,这些接口可以有默认实现

但除此之外,您还可以使用SPORTER的各种实现。您可以通过组合使用SporterAlpha实现

class ESTATE extends CAR implements SPORTER, TRUCK {}
必要时重复上述步骤,以暴露所有必要的SporterAlpha方法

因此,您可以:

  • 从不超过一个超类继承
  • 根据需要实现尽可能多的接口
  • 在Java 8的接口上使用默认实现+
  • 适当地使用构图

class ESTATE扩展了CAR implements SPORTER,TRUCK
?在Java 8+中,CAR可以是带有
fuelUp()默认实现的接口。
。请记住,继承并不是解决所有问题的灵丹妙药(事实上,它通常导致的问题多于解决的问题)。在这种情况下,尝试将所有汽车类型建模为它们自己的类可能根本不是正确的方法。
类ESTATE扩展了car implements SPORTER,TRUCK
?在Java 8+中,汽车可以是带有
fuelUp()
默认实现的接口。请记住,继承并不是解决所有问题的灵丹妙药(事实上,它通常会带来比解决问题更多的问题)。在这种情况下,尝试将所有车型建模为它们自己的车型可能根本不是正确的方法。