草庐IT

super-constructor

全部标签

java - 在封闭类的父类(super class)型声明中使用嵌套类型作为泛型类型参数

我基本上有一个问题,为什么以下不起作用。我有一个抽象类:publicabstractclassAbstrct{}然后,我定义了一个类,该类使用了一个公共(public)内部类,我想将其用于泛型参数,如下所示:publicclassOuterextendsAbstrct{publicclassInner{}}由于我仍在学习Java,所以我对它为什么不起作用更感兴趣。与其说是如何让它发挥作用,不如说是我对此也很感兴趣。 最佳答案 Inner不在Outer类声明的范围内。在extends子句中使用时,它不是已知的类型名称。使用合格的引用:

java - "java.lang.NoSuchFieldError: super"异常 - 编译器中的错误?

以下用Java-9编写的代码正在运行,在运行时中出现了一个非常奇怪和有趣的异常:Exceptioninthread"main"java.lang.NoSuchFieldError:superatA$C.test(A.java:15)atA.main(A.java:5)代码:publicclassA{publicstaticvoidmain(String[]args){newC().test();}interfaceB{privatevoidtest(){}}staticclassCimplementsB{voidtest(){B.super.test();}}}我想知道:它是这样设计的

python - type 是 Python 中所有类的父类(super class)吗?

鉴于type是所有类的父类(superclass),为什么isinstance(1,type)是False?我对这个概念的理解有误吗? 最佳答案 type不是所有类的父类(superclass)。它是所有类(没有自定义元类)的类型。注意区别:>>>isinstance(1,int)True>>>isinstance(1,type)False>>>isinstance(int,type)True数字1不是类型的实例。相反,int类型本身是type的一个实例。编辑:这些例子可能对你有帮助:>>>isinstance(1,int)True

Python 继承 : Concatenating with super __str__

我想将子类的__str__实现添加到基础实现中:classA:def__str__(self):return"this"classB(A):def__str__(self):returnsuper(B,self)+"+that"但是,这会产生类型错误:TypeError:unsupportedoperandtype(s)for+:'super'and'str'有没有办法让str(B())返回"this+that"? 最佳答案 你需要做super(B,self).__str__()。super指的是父类;您没有调用任何方法。

python - 为什么在 Python 中使用 super() 时必须给出类名

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhydoIhavetospecifymyownclasswhenusingsuper(),andisthereawaytogetaroundit?我正在阅读这本书-“核心Python编程”,我真的觉得它非常好。但是在研究继承主题时,我一度感到困惑。某处的书上说-我们可以使用super()来调用superclassmethod,它会为我们找到基类方法,而且我们不需要显式传递self,就像我们没有super..这是示例代码:-#Invokingsuperclassmethodwithoutsuper()..Ne

python : why a method from super class not seen?

我正在尝试实现我自己的DailyLogFile版本fromtwisted.python.logfileimportDailyLogFileclassNDailyLogFile(DailyLogFile):def__init__(self,name,directory,rotateAfterN=1,defaultMode=None):DailyLogFile.__init__(self,name,directory,defaultMode)#whydonotusesuper.here?lisibilitymaybe?#self.rotateAfterN=rotateAfterNdefsh

python - 如何访问 Python 父类(super class)的属性,例如通过 __class__.__dict__?

如何获取python类的所有属性名称包括那些从父类(superclass)继承的属性?classA(object):defgetX(self):return"X"x=property(getX)a=A()a.x'X'classB(A):y=10b=B()b.x'X'a.__class__.__dict__.items()[('__module__','__main__'),('getX',),('__dict__',),('x',),('__weakref__',),('__doc__',None)]b.__class__.__dict__.items()[('y',10),('__m

python - 在多重继承中访问父类(super class)方法的更好方法

classAnimal(object):defeat(self):print("Ieatall")classC(object):defeat(self):print("Itooeat")classWolf(C,Animal):defeat(self):print("IamNonVeg")super(Wolf,self).eat()Animal.eat(self)w=Wolf()w.eat()我正在学习python中的多重继承,我想访问Animal和C方法eat从派生类使用super方法。默认调用super内部电话C类方法eat,但要打电话Animal我使用的类方法Animal.eat(

python - 将父类(super class)实例转换为子类实例

我有一个我无法触及的外部图书馆。这个库有一个函数genA(),它返回类A的实例。在我这边,我将类B定义为类A的子类。我想在我的项目中使用类B的实例,但该实例应该由genA()生成。是否有任何标准且简单的方法可以做到这一点?#IcannnottweakthesecodedefgenA():a=Areturn(a)classA:def__init__():self.a=1#---#codeinmysideclassB(A):def__init__():self.b=2a=genA()#likeacopy-constructor,doesn'twork#b=B(a)#Iwanttogetth

Python:为什么我不能在类里面使用 `super`?

为什么我不能使用super获取类的父类(superclass)的方法?例子:Python3.1.3>>>classA(object):...defmy_method(self):pass>>>classB(A):...defmy_method(self):pass>>>super(B).my_methodTraceback(mostrecentcalllast):File"",line1,insuper(B).my_methodAttributeError:'super'objecthasnoattribute'my_method'(当然这是一个微不足道的案例,我可以做A.my_met