草庐IT

objc_requires_super

全部标签

java - 为什么在覆盖 finalize() 方法时首选调用 super.finalize()?

我收到SonarQube错误:“强烈建议在此方法实现结束时调用super.finalize(),以防父实现也必须释放一些系统资源。”但我发现Object类没有实现finalize方法。protectedvoidfinalize()throwsThrowable{}那么为什么需要调用super.finalize()呢? 最佳答案 这不是必须的,它是应该遵循的finalizer写成语。如果在未来的任何时候,您重构了您的代码并且您的类扩展了一些可能具有finalize方法的其他类,这种做法将防止出现奇怪的错误。成语是try{//Dowha

java - 为什么Java中可以将父类(super class)初始化为子类?

简而言之,这是如何以及为什么可能的:Objectobj=newMyClass();Object是所有对象的父类(superclass),因此MyClass是Object的子类。一般来说,在Java中,为什么可以在父类中使用子类的构造函数?我明白它怎么可能反过来,因为子类拥有父类的所有变量/方法,所以当你初始化它们时,你只是在初始化父构造函数中指定的变量,这些变量按定义存在于child。问题是,当你反过来时,它不一定是真的。子项可以拥有父项没有的变量,那么当父项一开始甚至没有变量时,如何将子项构造函数与父项一起使用?这个特性在开发中有什么用?我想如果你想要一个B类的实例,你会把它声明为B

java - 为什么这个泛型不能识别它的父类(super class)边界(Java)?

我有一个对象实例系统,其中包含对定义对象的引用。每个继承树都有一个顶级类。实例对象具有对相应定义类的泛型引用。在getter中使用泛型,顶级对象的子类无需转换即可获得正确的类型定义。但是,再次被子类化的抽象子类不能:classDef{}abstractclassAnimal{Ddef;DgetDef(){returndef;}}classCatDefextendsDef{}classCatextendsAnimal{}abstractclassBearDefextendsDef{}abstractclassBearextendsAnimal{}classBlackBearDefexte

java - 父类(super class)和子类都有自己的接口(interface)

以下可以吗?(请记住,我没有编写类的主体,也没有编写接口(interface);-))abstractclassSuperClassimplementsSuperInterfaceclassSubClassextendsSuperClassimplementsSubInterface或者这通常被认为是不好的做法?让我感到奇怪的是,以下内容不起作用:ListmyList;...for(SuperInterfacesi:myList){...} 最佳答案 不好也不坏。SubClass在这里实现了SuperInterface和SubInt

java - 在什么情况下父类(super class)不应该是抽象的?

在this线程我发现了一些有趣的时刻,如果类仅用作父类(superclass),则没有规则使其抽象。为什么这样?谢谢 最佳答案 这完全取决于拥有该类的实例是否有意义。假设您有一个类Dog和一个类Cat。它们都扩展了Animal。现在一个Animal可能有一个名字和一些方法,但是让Animal跑来跑去是没有意义的。Animal是……一个抽象的概念。在其他情况下,您可能有子类(例如LinkedHashSetextendsHashSet),但实例化父类(superclass)(HashSet)仍然很有意义在这种情况下)。要回答您的评论,“

java - 你在子类中调用 super.finalize() 吗?

我(在某处)读到,当子类被垃圾回收时,不能保证调用父类的finalize(),这是否意味着大多数开发人员会覆盖finalize()在子类中调用super.finalize()? 最佳答案 Finalize不会自动为父类(superclass)调用。因此,如果您重写finalize,确保父类(superclass)得到清理的正确方法是protectedvoidfinalize(){try{//dosubclasscleanup}finally{super.finalize();}}请参阅这篇引用文章http://www.ibm.com

java - Spring 文件上传 - 'Required request part is not present'

我正在尝试向我的Controller发送POST请求,但无法传递任何类型的任何参数,除非我决定使用JSON。我的目标是将一个字符串和一个文件传递给我的Controller,但我一直收到Requiredrequestpart'xxx'isnotpresent错误。@RestControllerpublicclassConfigurationController{@PostMapping(value="/config")publicResponseEntitysaveEnvironmentConfig(@RequestParam("file")MultipartFileuploadfile

java - Unresolved 要求 : Require-Bundle: org. eclipse.core.databinding.beans;捆绑版本 ="1.2.200"

我正在尝试创建一个RCP应用程序,我想在其中绑定(bind)一个来自bean的变量以进行查看。bean的代码#publicclassSaveFileBeanimplementsPropertyChangeListener{privateStringtext;privatePropertyChangeSupportpropertyChangeSupport=newPropertyChangeSupport(this);@OverridepublicvoidpropertyChange(PropertyChangeEventarg0){propertyChangeSupport.fireP

java - 在 Java 中使用 super

对于Cube类,我试图消除错误:Cube.java:12:error:constructorRectangleinclassRectanglecannotbeappliedtogiventypes;super(x,y);^required:int,int,double,doublefound:int,int.......我知道Cube的每个面都是一个Rectangle,其长度和宽度需要与Cube的边相同,但我不确定需要将什么传递给Rectangle构造函数以使其长度和宽度为与立方体的侧面相同。还尝试计算体积,即矩形面积乘以立方体边长这是立方体类//-------------------

java - 在 Java 中,为什么父类(super class)方法不能从子类实例访问 protected 或私有(private)方法/变量?

让我们从另一个行为开始:即使您将方法/变量声明为私有(private),同一类的另一个实例也可以访问它。没关系,我可以忍受。我称这些为类私有(private)而不是实例私有(private)。现在是问题部分:例如,在运行时我希望能够检查this类中的所有String变量是否不为null,如果它们为null,则应将其更改为字符串“NULL”。我可以使用反射遍历变量并获取它们的值。但是,如果我扩展我的类并添加私有(private)或什至protected变量,我的基类将无法访问它们。我必须先对变量进行setAccessible,然后才能使用它们。所以请向我解释为什么基类(父类(superc