两次扩展Java类
可能重复:两次扩展Java类,java,class,extend,Java,Class,Extend,可能重复: 我有这样一个代码: public class myApplet extends JApplet 我有兴趣添加另一个扩展,例如: public class myApplet extends JApplet, extends Object implements Serializable 这可以通过某种方式和方式实现吗?Java没有多重继承,任何类都扩展了对象,所以在这种情况下它是无用的。Java没有多重继承,任何类都扩展了对象,所以在这种情况下它是无用的。在Java中不能两次扩展
我有这样一个代码:
public class myApplet extends JApplet
我有兴趣添加另一个扩展,例如:
public class myApplet extends JApplet, extends Object implements Serializable
这可以通过某种方式和方式实现吗?Java没有多重继承,任何类都扩展了
对象,所以在这种情况下它是无用的。Java没有多重继承,任何类都扩展了对象,所以在这种情况下它是无用的。在Java中不能两次扩展类。。。尽管如此,java中的每个类都会立即从类对象继承,因此您不必使用对象类扩展类;) 在java中不能两次扩展类。。。尽管如此,java中的每个类都会立即从类对象继承,因此您不必使用对象类扩展类;) Java没有多重继承,但您可以实现多个接口
public class myApplet extends JApplet implements Serializable, SomeThingElse
您不需要扩展对象
,因为所有类都将扩展它
如果你在两个类中有方法,你想共享一个类,考虑定义一个第三类,如果函数集是<强>内聚,并执行不同的操作,则使用这两个类。不要试图合并职业来获得他们的力量。创建处理不同问题的单独类,并将这些类的实例存储在高阶类中
如果您确实有两个执行类似功能的类,那么可以将它们的公共代码抽象为一个超类。因此,类A将扩展类B,而您将反过来扩展类C并在其中添加更多细节
如果你有两个结构非常相似但在不同的数据结构或算法上运行的类,那么你可以考虑创建一个它们都实现的接口。这方面的一个很好的例子是具有
drive()
方法的车辆接口。汽车
对drive()
的实现方式与摩托车
不同
为了扩展这最后一个想法,如果这些类将共享公共代码,并且可以说“一辆车就是一辆车”和“一辆摩托车就是一辆车”,那么使用继承可能比使用接口更可取,使用Car
和Motorbike
扩展车辆及其抽象功能。Java没有多重继承,但可以实现多个接口
public class myApplet extends JApplet implements Serializable, SomeThingElse
您不需要扩展对象
,因为所有类都将扩展它
如果你在两个类中有方法,你想共享一个类,考虑定义一个第三类,如果函数集是<强>内聚,并执行不同的操作,则使用这两个类。不要试图合并职业来获得他们的力量。创建处理不同问题的单独类,并将这些类的实例存储在高阶类中
如果您确实有两个执行类似功能的类,那么可以将它们的公共代码抽象为一个超类。因此,类A将扩展类B,而您将反过来扩展类C并在其中添加更多细节
如果你有两个结构非常相似但在不同的数据结构或算法上运行的类,那么你可以考虑创建一个它们都实现的接口。这方面的一个很好的例子是具有
drive()
方法的车辆接口。汽车
对drive()
的实现方式与摩托车
不同
为了扩展这最后一个想法,如果这些类将共享公共代码,并且可以说“一辆车就是一辆车”和“一辆摩托车就是一辆车”,那么使用继承可能比使用接口更可取,使用Car
和Motorbike
扩展车辆及其抽象功能。否,Java不支持多重继承。但每个类都会自动从对象继承。不,Java不支持多重继承。但每个类都会自动从对象继承。在Java中不能扩展多个类。但是您可以实现多个接口
public class myApplet extends JApplet implements Serializable, SomeThingElse
但是,如果您的父对象是另一个父对象的子对象,那么您当然也在扩展层次结构中的所有类
若不添加extend语句,对象将自动选择为父对象。对象是超级父对象,在每个层次中都可以找到它。因此,在您的情况下,您可以跳过“扩展对象”,因为hirachy如下所示:
java.lang.Object
extended by java.awt.Component
extended by java.awt.Container
extended by java.awt.Panel
extended by java.applet.Applet
extended by javax.swing.JApplet
extended by your.package.myApplet
(请参阅)在Java中不能扩展多个类。但是您可以实现多个接口
public class myApplet extends JApplet implements Serializable, SomeThingElse
但是,如果您的父对象是另一个父对象的子对象,那么您当然也在扩展层次结构中的所有类
若不添加extend语句,对象将自动选择为父对象。对象是超级父对象,在每个层次中都可以找到它。因此,在您的情况下,您可以跳过“扩展对象”,因为hirachy如下所示:
java.lang.Object
extended by java.awt.Component
extended by java.awt.Container
extended by java.awt.Panel
extended by java.applet.Applet
extended by javax.swing.JApplet
extended by your.package.myApplet
(请参阅)Java不支持多重继承,您可以使用多接口Java不支持多重继承,您可以使用多接口问题,Java支持多重继承吗?不。但为什么要再次扩展对象?为什么这对您来说还不够好:公共类myApplet扩展JApplet实现可序列化
问题,java支持多重继承吗??不。但为什么您要再次扩展对象?为什么这对您来说还不够好:public类myApplet扩展了JApplet实现了可序列化