当前位置: 首页 > 面试题库 >

什么是Java上的隐式构造函数

贺亦
2023-03-14
问题内容

在Java中调用基类构造函数是强制性的吗?在C ++中,它是可选的,所以我问这个问题。

当我扩展时ArrayAdapter,我得到这个错误:"Implicit super constructor ArrayAdapter<String>() is undefined. Must explicitly invoke another constructor"

那么,调用基本构造函数的目的是什么?当我创建对象时,基类的构造函数将调用&然后涉及到派生权。


问题答案:

如果您自己不调用no-
args构造函数,则该隐式调用;如果该构造函数不存在,则无效。要求调用超构造函数的原因是,超类通常在构造后会处于其预期的状态,其中可能包含无法在子类中设置的私有变量。如果不调用构造函数,它将使对象处于可能无效的状态,这可能会导致各种问题。



 类似资料:
  • 隐式默认构造函数有一个空主体和一个空初始值设定项列表(未定义的原始类型,默认构造函数用于用户定义的类型)。 这篇帖子说 确实进行了成员级值初始化,但在进行初始化时调用默认构造函数有什么意义 ? 是否调用隐式默认构造函数,以确保调用用户定义类型(可能具有非平凡的默认构造函数)的默认构造函数? 使现代化 似乎在调用编译器生成的隐式默认构造函数后,对象可能无法一致实例化,即未定义基元类型,并且用户定义的

  • 本文向大家介绍请解释Java中的概念,什么是构造函数?什么是构造函数重载?什么是复制构造函数?相关面试题,主要包含被问及请解释Java中的概念,什么是构造函数?什么是构造函数重载?什么是复制构造函数?时的应答技巧和注意事项,需要的朋友参考一下 考察点:JAVA构造函数 当新对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,Java编译器会为这个类创建一

  • 问题内容: 所以我正在学习Java。我有一个月的时间,我刚刚了解了构造函数。但是我看不到创建一个的全部目的。为什么我什么时候要使用?我知道它没有主方法,您可以从主类中调用构造函数。任何人都可以启发我这个话题,这对我有很大帮助。 问题答案: 构造函数是用来初始化/设置类实例的对象。 如果您有一个对象需要一些处理才能使用(例如,初始化成员),则应在构造函数中执行此操作。 理想情况下,您永远不应拥有“部

  • 问题内容: 这些来自github上的spring amqp示例,位于https://github.com/SpringSource/spring-amqp- samples.git 这些是 什么类型的Java构造函数?它们是吸气剂和吸气剂的捷径吗? 与此相反 问题答案: 这些构造函数被重载以使用调用另一个构造函数。第一个无参数构造函数使用空参数调用第二个。第二呼叫的第三构造(未示出),其必须采取,

  • 我正在学习C中的类,并且知道非静态成员函数具有隐式此参数。我的第一个问题是构造函数是否也像非静态成员函数一样具有隐式this参数。请注意,我不是在问我们是否可以在ctor中使用,因为我已经知道我们可以在ctor中使用。 接下来,我知道在类X的限定非静态成员函数中,这个函数的类型是const X*。对于非静态成员函数(无const限定),此的类型为X*。类似地,在ctor中,此的类型始终是X*。更深

  • 问题内容: 我是Java的初学者,我想以一种简单的方式知道为什么您应该使用参数化构造函数而不是编译器提供的默认构造函数。 谢谢 问题答案: 默认构造函数将您的对象可能具有的所有属性设置为0,false等。如果要立即设置属性,则可以使用参数化的构造函数。当然,也可以使用您自己的构造函数为您提供在创建对象之前(技术上而言)执行代码的选项。 顺便说一句:“默认值不会为属性设置任何值”的答案是错误的。例如