草庐IT

Abstract

全部标签

java - 有没有办法确保实现接口(interface)的类实现静态方法?

首先,我阅读了埃里克森对"Whycan’tIdefineastaticmethodinaJavainterface?"的有用回复.这个问题不是关于“为什么”,而是关于“那么如何?”。编辑:我原来的例子不合适,但我会把它留在下面。虽然我现在确信,在大多数情况下,我想做的事是矫枉过正,但有一种情况可能需要它:我将再次使用ParametricFunction示例。现在让我们使用一个复杂的函数,例如Besselfunctions,查找表是合适的。这必须被初始化,所以这两个选项是将参数直接传递给构造函数或提供init(double[]parameters)。后者的缺点是getValue(doub

java - 由于某些中间构造函数调用,没有可用的 PerfHelper 类型的封闭实例

考虑下面的代码:classabstractNormal1extendsSomething{}classOuter{classabstractInnerextendsNormal1{}}classGeneralextendsOuter.Inner//Problemoccursatthis{}我得到的错误是“由于某些中间构造函数调用,没有可用的PerfHelper类型的封闭实例”我的问题是我可以像上面那样扩展内部类吗? 最佳答案 将内部类声明为static,您应该可以扩展它:classouter{staticabstractclassi

java - 由于某些中间构造函数调用,没有可用的 PerfHelper 类型的封闭实例

考虑下面的代码:classabstractNormal1extendsSomething{}classOuter{classabstractInnerextendsNormal1{}}classGeneralextendsOuter.Inner//Problemoccursatthis{}我得到的错误是“由于某些中间构造函数调用,没有可用的PerfHelper类型的封闭实例”我的问题是我可以像上面那样扩展内部类吗? 最佳答案 将内部类声明为static,您应该可以扩展它:classouter{staticabstractclassi

java - 覆盖方法可以具有与基类中不同的访问说明符吗?

在抽象类中,我必须为方法使用哪个访问修饰符,所以子类可以决定它是否应该是公共(public)的?是否可以在Java中“覆盖”修饰符?publicabstractclassA{???voidmethod();}publicclassBextendsA{@Overridepublicvoidmethod(){//TODO}}publicclassCextendsB{@Overrideprivatevoidmethod(){//TODO}}我知道静态绑定(bind)会有问题,如果有人打电话://WillworkAfoo=newB()foo.method();//Compiler?Afoo=n

java - 覆盖方法可以具有与基类中不同的访问说明符吗?

在抽象类中,我必须为方法使用哪个访问修饰符,所以子类可以决定它是否应该是公共(public)的?是否可以在Java中“覆盖”修饰符?publicabstractclassA{???voidmethod();}publicclassBextendsA{@Overridepublicvoidmethod(){//TODO}}publicclassCextendsB{@Overrideprivatevoidmethod(){//TODO}}我知道静态绑定(bind)会有问题,如果有人打电话://WillworkAfoo=newB()foo.method();//Compiler?Afoo=n

java - 抽象类是否/可以取代接口(interface)?

这个问题在这里已经有了答案:Whentouseaninterfaceinsteadofanabstractclassandviceversa?(26个回答)关闭5年前.在Java中,您可以创建一个只包含抽象方法的抽象类。另一方面,您可以创建一个声明相同方法的接口(interface)。既然如此,可以用抽象类代替接口(interface)吗? 最佳答案 并非总是如此:一个类只能扩展一个类一个类可以实现多个接口(interface)Sundocs进行更详细的比较:AbstractClassesversusInterfacesUnlike

java - 抽象类是否/可以取代接口(interface)?

这个问题在这里已经有了答案:Whentouseaninterfaceinsteadofanabstractclassandviceversa?(26个回答)关闭5年前.在Java中,您可以创建一个只包含抽象方法的抽象类。另一方面,您可以创建一个声明相同方法的接口(interface)。既然如此,可以用抽象类代替接口(interface)吗? 最佳答案 并非总是如此:一个类只能扩展一个类一个类可以实现多个接口(interface)Sundocs进行更详细的比较:AbstractClassesversusInterfacesUnlike

java - 抽象类 :-Real Time Example

最近在一次采访中,我被问到一个非常笼统的问题“java中的抽象是什么”。我给出了定义,然后是关于抽象的其他一些问题,即抽象方法是什么以及抽象方法和具体方法之间的区别和等等然后最后面试官要求给出一个实时的例子,什么时候我应该使用或定义一个抽象类。我很困惑。我举了一些例子,但他不相信。我搜索了它,但没有找到真正的解决方案。那么谁能给我一个实时的例子,即当他在他/她的项目中将一个类定义为抽象类时,为什么?谢谢。 最佳答案 从here中找到的一个很好的实时示例:-Aconcreteexampleofanabstractclasswouldb

java - 抽象类 :-Real Time Example

最近在一次采访中,我被问到一个非常笼统的问题“java中的抽象是什么”。我给出了定义,然后是关于抽象的其他一些问题,即抽象方法是什么以及抽象方法和具体方法之间的区别和等等然后最后面试官要求给出一个实时的例子,什么时候我应该使用或定义一个抽象类。我很困惑。我举了一些例子,但他不相信。我搜索了它,但没有找到真正的解决方案。那么谁能给我一个实时的例子,即当他在他/她的项目中将一个类定义为抽象类时,为什么?谢谢。 最佳答案 从here中找到的一个很好的实时示例:-Aconcreteexampleofanabstractclasswouldb

java - 哪个方法被覆盖?

这个问题在这里已经有了答案:InterfaceandAbstractclassadmethodoverriding(3个回答)关闭8年前。ClassA有run()方法,接口(interface)B也有run()方法。问题很简单,在Main类中重写了哪个run()方法,我们将如何证明这一点?为什么这段代码没有冲突(编译时错误)?classA{voidrun(){System.out.println("Aclass");}}interfaceB{voidrun();}classMainextendsAimplementsB{publicstaticvoidmain(Stringargs[]