草庐IT

Super_VLAN

全部标签

Python super 方法和调用替代方法

我到处都能看到父类(superclass)方法应该被调用的例子:super(SuperClass,instance).method(args)这样做有什么缺点吗:SuperClass.method(instance,args) 最佳答案 考虑以下情况:classA(object):def__init__(self):print('RunningA.__init__')super(A,self).__init__()classB(A):def__init__(self):print('RunningB.__init__')#super

python - 使用 super 的正确方法(参数传递)

所以我关注了Python'sSuperConsideredHarmful,并去测试他的例子。但是,Example1-3,这应该显示在处理期望不同参数的__init__方法时调用super的正确方法,但完全不起作用。这是我得到的:~$pythonexample1-3.pyMRO:['E','C','A','D','B','object']Earg=10Carg=10ADarg=10BTraceback(mostrecentcalllast):File"Download/example1-3.py",line27,inE(arg=10)File"Download/example1-3.py

Python 扩展 - 使用 super() Python 3 与 Python 2

本来想问thisquestion,但后来我发现它之前已经想到了......谷歌搜索我发现了extendingconfigparser的这个例子.以下适用于Python3:$python3Python3.2.3rc2(default,Mar212012,06:59:51)[GCC4.6.3]onlinux2>>>fromconfigparserimportSafeConfigParser>>>classAmritaConfigParser(SafeConfigParser):...def__init__(self):...super().__init__()...>>>cfg=Amrit

java - 'T.super' 是 JLS 的合法表达吗?

考虑以下一组表达式:classT{{/*1*/Objecto=T.super;//error:'.'expected/*2*/o.toString();}}尝试编译它会在/*1*/行失败并出现错误:error:'.'expectedo=T.super;^同时使用OpenJDK1.8.0(Ubuntu)或OracleJDK1.8(Windows)。但是,Eclipse4.5.0(Mars)编译没有任何错误,结果是:classT{T();0aload_0[this]1invokespecialjava.lang.Object()[8]//super()4aload_0[this]5asto

java - 从父类(super class)调用子类方法

我正在学习Java入门类(class),我们刚刚开始学习继承。我正在处理一项任务,要求我们创建一个带有名称和年龄的“宠物”父类(superclass);和三个子类,每个子类都有自己独特的特征(我选择了“狗”、“猫”和“鸟”)。在我们构建完所有这些之后,我们将创建一个Main类来测试所有内容,这就是我遇到问题的地方。我试图在Main中为这些独特的特征调用get方法,但它似乎只能找到父类(superclass)中的方法。这是主类:publicclassKennel{publicstaticvoidmain(String[]args){//CreatethepetobjectsPetcat=

java - 使用父类(super class)初始化子类对象java

这个问题在这里已经有了答案:Whatdoesitmeanto"programtoaninterface"?(33个答案)关闭5年前.SuperClassobject=newSubClass();为什么要像上面那样使用父类(superclass)来实例化子类对象?因为我学会实例化对象的唯一方法是:SubClassobject=newSubClass();我正在学习java。 最佳答案 你可能有一个只接受SuperClass实例的方法。由于SubClass是一个SuperClass,你可以使用SubClass的实例并将其视为SuperC

java - 泛型父类(super class)和父类(super class)类型之间的区别

我无法理解下面两个代码片段之间的区别。谁能帮我简单解释一下?首先我不得不说,我有很多类都扩展了一个名为BaseEntity的父类(superclass),那么下面的代码片段有什么区别、优点和缺点呢?//1publicTgetName(Tt){returnt;}//2publicBaseEntitygetName(BaseEntityt){returnt;} 最佳答案 第一个片段更灵活,因为它保留了T的实际类型。假设你有一个子类:classSubEntityextendsBaseEntity{}在第一种情况下,你可以写:SubEnti

java - 隐式 super 构造函数 Person() 未定义。必须显式调用另一个构造函数?

我正在做一个项目,我收到错误“隐式super构造函数Person()未定义。必须显式调用另一个构造函数”,我不太明白。这是我的person类:publicclassPerson{publicPerson(Stringname,doubleDOB){}}我的学生类在尝试实现person类并给它一个讲师变量时。publicclassStudentextendsPerson{publicStudent(StringInstructor){}} 最佳答案 Ifaconstructordoesnotexplicitlyinvokeasuper

java - 子类是否从它的父类(super class)继承构造函数?

在子类中,我们可以使用子类的构造函数来初始化数据成员,该构造函数在内部调用父类(superclass)的构造函数super()。如果子类不能从其父类(superclass)继承构造函数,那么super()调用如何初始化父类(superclass)? 最佳答案 子类的构造函数可以调用父类(superclass)的构造函数,但它们不会被继承。明确地说,这意味着如果你有类似的东西:publicclassSuper{publicSuper(intx){}}publicclassSubextendsSuper{publicSub(){supe

java - 如何让 Java 反射(reflect)到父类(super class)中的点字段?不仅仅是实际的类(class)

这个问题在这里已经有了答案:Retrievingtheinheritedattributenames/valuesusingJavaReflection(15个回答)关闭3年前。我最近稍微改变了我的架构,所以我的类继承自一个父类(superclass),问题是我使用Java反射生成审计日志的比较方法现在只循环遍历子类的字段,而不是父类(superclass),有没有办法获得所有的FIELDS?还是我需要将其转换为父类(superclass).....?下面是我的方法:publicstaticStringGenerateChangeLogForEntity(Told,Tupdated){