草庐IT

Super_VLAN

全部标签

java - 方法不覆盖或实现父类(super class)型的方法 - 覆盖

我环顾四周,但无法弄清楚为什么会出现错误error:methoddoesnotoverrideorimplementamethodfromasupertype这突出显示了方法(子例程?)中的两个@Override。这是我的MainActivity.java-它出现在queryBooks()方法最后的部分代码-@Override都是红色下划线。packagecom.example.batman.myapplication;importandroid.app.AlertDialog;importandroid.content.DialogInterface;importandroid.co

Java:super.clone() 方法和继承

我有一个关于Java中的clone()方法的快速问题,在继承方面用作super.clone()-我称之为父类中的clone()方法,从按钮一直向上。clone()方法应该返回此对象的副本,但是如果我在继承继承中有三个类并调用super.clone()三个有时,为什么继承继承体系中的最高类(就在类Object下)没有返回该类的副本?假设我们有三个类:A、B和C,其中A->B->C(继承=->)然后在C类调用super.clone(),在B类调用super.clone(),调用clone(),调用clone()在A中调用super.clone()'这次Object.clone()被调用'。

java - 如何在 Java 中完全隐藏父类(super class)方法

最近我在考虑制作我自己的Date库。我在这里发现了一个问题,它是:如何在子类中隐藏父类(superclass)方法?所以它不会在子类中被检测到。例子:我有一个扩展到Date的类,另一个扩展到上一个类的类。在我的新子类中,它检测Date的所有方法,如getDate等。我想要的是在我的子类中Date的所有方法都未被发现,而不是抛出一个异常(exception),但完全未被发现。提前致谢:) 最佳答案 在这里优先考虑组合而不是继承。与其继承Date,不如将其作为MyDate类中的成员字段。publicclassMyDate{private

Java .equals() instanceof 子类?为什么不调用父类(super class) equals 而不是将其设为最终类?

它在Object的.equals(Object)javadoc中说明:Itissymmetric:foranynon-nullreferencevaluesxandy,x.equals(y)shouldreturntrueifandonlyify.equals(x)returnstrue.在示例代码中几乎所有地方我都看到重写的.equals(Object)方法,它使用instanceof作为第一个测试之一,例如这里:Whatissues/pitfallsmustbeconsideredwhenoverridingequalsandhashCode?publicclassPerson{p

java - 如何使用父类(super class)的构造函数创建子类的实例

我想为父类(superclass)的子类创建一个注册表。这些类存储在充当注册表的映射中。根据键从注册表中选择一个类,并通过反射创建该类的实例。我想根据父类(superclass)的构造函数(带有1个参数)实例化一个类。仅当我也在子类中声明构造函数时它才有效。有没有办法使用父类(superclass)的构造函数来实例化类?有没有办法使该代码类型安全?示例代码:publicclassReflectionTest{/***Baseclasswithno-argsconstructorandanotherconstructorwith1parameter*/publicstaticclassB

Java:如何在覆盖方法(祖 parent 方法)中调用 super().super()

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whyissuper.super.method();notallowedinJava?我有3个类,它们相互继承如下:A↳B↳C在每个类中我都有以下方法:protectedvoidfoo(){...}在C类中我想从A类中调用foo而不是在B中调用foo:protectedvoidfoo(){//Thisdoesn'twork,Igetthefollowingcompiletimeerror://Constructorcallmustbethefirststatementinaconstructorsuper()

java - "inherited"是解释父类(super class)的静态方法可以被子类访问的正确术语吗?

澄清:这个问题不是关于访问修饰符的已确认B.m()和b.m()语句都适用于以下代码:classA{staticvoidm(){//somecode}}classBextendsA{}classExample{publicstaticvoidmain(String[]args){B.m();//runningA'sm()staticmethod}publicvoidtry(){Bb=newB();b.m();//runningA'sm()staticmethod}}我的问题是我们可以说“静态方法是继承的”吗?如果“继承”是正确的术语,如果我们向B类添加一个方法,我们将使用静态类的相同签名

面试必备!解密This与Super:职场新手必读!

哈喽大家好!小米今天要和大家聊一个有趣的话题,就是关于面试中经常被问到的一个问题:"this"与"super"之间有什么区别?对于很多即将踏入职场的小伙伴们来说,这可是一个需要了解透彻的问题哦!废话不多说,我们马上进入正题吧!this是什么?首先,我们来了解一下this是什么。在面向对象编程中,this是一个关键字,代表了当前对象的引用。当我们调用一个对象的方法或访问其属性时,可以使用this关键字来指向当前正在操作的对象。这样一来,我们就能够在方法内部访问和修改当前对象的属性,或者调用其他方法。比如说,我们有一个类叫做"Person",其中有一个方法"sayHello":在这个例子中,thi

java - 在不扩展任何内容的类中调用 super() 是不好的做法吗?

我经常看到人们在没有显式扩展任何内容的类中显式调用super()。publicclassFoo{publicFoo(){super();//dootherconstructorstuff}}现在我知道这是完全合法的,如果省略,编译器会添加调用,但我仍然认为这是不好的做法。每当我看到这个时,我想知道程序员是否对继承有一些误解以及所有类都隐式扩展Object这一事实。我是否应该将此添加到我们的编码标准/最佳实践中?当我看到团队中的其他开发人员这样做时,我是否应该召集他们这样做?这是我的个人问题,但我不知道我是否只是挑剔。 最佳答案 虽然

java - 什么是static <T> List<T> methodName (List<? super T> input)

我有以下代码,但我对所有泛型感到困惑。publicstaticListbackwards(Listinput){Listoutput=newArrayList();returnoutput;}我的理解是我有一个名为backwards的公共(public)方法,它创建一个实现List接口(interface)并返回数组列表的数组列表。我的问题是我实际上在用以下部分对编译器说什么......staticListbackwards(Listinput) 最佳答案 你是在对编译器说:“我为这个方法声明了一个任意类型T,对于方法的每次调用它可