首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果您在变量中保存对super的调用以供将来使用,会发生什么?

在编程中,当您在变量中保存对super的调用以供将来使用时,您实际上是在存储对父类(或基类)的构造函数的调用。这通常在子类中完成,以便在子类的构造函数中调用父类的构造函数。这有助于确保父类的成员变量和方法在子类中被正确地初始化和使用。

例如,在Java中,您可以这样做:

代码语言:java
复制
public class ParentClass {
    public ParentClass() {
        // 父类构造函数的代码
    }
}

public class ChildClass extends ParentClass {
    public ChildClass() {
        super(); // 调用父类的构造函数
        // 子类构造函数的其他代码
    }
}

在这个例子中,ChildClass 继承了 ParentClass,并在其构造函数中使用 super() 调用父类的构造函数。这样做的好处是,当创建 ChildClass 的实例时,父类的构造函数将被调用,确保所有父类的成员变量和方法都被正确地初始化。

请注意,这个问题中提到的云计算品牌商(如亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等)与编程和变量调用的概念无关。这些品牌商提供的云计算服务可以帮助您托管和部署应用程序,但它们与本问题中的编程概念无关。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

保存数据返回后可以继续编辑

如果调用onSaveInstanceState()方法, 调用将发生在onPause()或onStop()方法之前. ...onSaveInstanceState()方法的默认实现 如果开发者没有覆写onSaveInstanceState()方法, 此方法的默认实现会自动保存activity中的某些状态数据, 比如activity...由上所述, 如果开发者需要覆写onSaveInstanceState()方法, 一般会在第一行代码中调用该方法的默认实现: super.onSaveInstanceState(outState)....如需要保存类中成员变量的值(见上例). onSaveInstanceState()方法适合保存什么数据 由于onSaveInstanceState()方法方法不一定会被调用, 因此不适合在该方法中保存持久化数据...保存持久化数据的操作应该放在onPause()中. onSaveInstanceState()方法只适合保存瞬态数据, 比如UI控件的状态, 成员变量的值等.

818100

宅男知识GET 学多态 认包包

为什么我们使用eclipse写代码的时候没见使用过javac这个编译器?...我们看右边,我们讲继承的时候说过,创建子类对象的时候,会自动获得父类的成员变量,会在内存中开辟空间,保存父类的成员变量,用super来访问他们。再看代码,左侧是父类的变量 bag_bv ,他指向哪?...这不是强人所难么,所以他只能指向将来那个对象的super,通过super找到父类的成员变量,所以成员变量不具备多态的特征。 杠精还没下线,那为啥方法不指向父类的方法而是子类的重写的方法呢?...如果是父类变量保持子类对象地址,则发生多态。 发生多态时,就是我们上面讲解的概念,编译时编译的是父类的方法,运行时创建了子类的对象,是运行的子类方法。...静态成员的多态规则 Bag bag_bv = new BottegaVeneta(); bag_bv.describe(); 多态发生在对象调用方法的时候,而静态变量,静态方法属于类,如果 describe

49730
  • 10 种最常见的 Javascript 错误

    我们会告诉你什么原因导致了这些错误,以及如何防止这些错误发生。如果你能够避免落入这些 “陷阱”,你将会成为一个更好的开发者。...在现实世界的例子中,这种错误可能发生的一种场景是:如果在加载元素之前尝试在 JavaScript 中使用元素。 因为 DOM API 对于空白的对象引用返回值为 null。...TypeError: Object doesn’t support property 这是您在调用未定义的方法时发生在 IE 中的错误。 您可以在 IE 开发者控制台中进行测试。 ?...通常,如果您在 Rollbar 命名空间内,则可以使用以下语法调用isAwesome方法: this.isAwesome(); Chrome,Firefox 和 Opera 会欣然接受这个语法。...一个传统的,旧浏览器兼容的解决方案是简单地将您的 this 保存在一个变量,然后可以由闭包继承。

    6.8K80

    应用程序内购买教程:入门

    单击保存。大!您已经创建了第一个IAP产品。 ? 本地化 注意:App Store Connect可能会抱怨您缺少IAP的元数据。在您提交应用以供审核之前,您需要在此页面底部添加IAP的屏幕截图。...单击“Tester”标题旁边的+。 ? image 填写信息,完成后单击“ 保存”。您可以为测试用户组成名字和姓氏,但必须使用真实的电子邮件地址,因为Apple会向该地址发送验证电子邮件。...start() } 此代码保存用户的完成处理程序以供将来执行。然后,它通过SKProductsRequest对象创建并向Apple发起请求。...productsRequest(_:didReceive:)在成功检索列表时调用。它接收一个SKProduct对象数组并将它们传递给先前保存的完成处理程序。处理程序使用新数据重新加载表。...详细的审查是有序的。幸运的是,每种方法都很短。 paymentQueue(_:updatedTransactions:)是协议实际需要的唯一方法。当一个或多个事务状态发生变化时,它会被调用。

    5.5K20

    1000个项目中前10名的JavaScript错误介绍

    为了回馈我们的开发者社区,我们查看了数千个项目的数据库,发现了 JavaScript 中频度最高的 10 种错误。我们会告诉你什么原因导致了这些错误,以及如何防止这些错误发生。...要验证它们不相等,请尝试使用严格的相等运算符 ===: 在现实世界的例子中,这种错误可能发生的一种场景是:如果在加载元素之前尝试在 JavaScript 中使用元素。...TypeError: Object doesn’t support property 这是您在调用未定义的方法时发生在 IE 中的错误。 您可以在 IE 开发者控制台中进行测试。...通常,如果您在 Rollbar 命名空间内,则可以使用以下语法调用isAwesome方法: Javascript代码 this.isAwesome(); Chrome,Firefox 和 Opera...一个传统的,旧浏览器兼容的解决方案是简单地将您的 this 保存在一个变量,然后可以由闭包继承。

    6.2K10

    安卓 topic-UI-设置 settings

    imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 概览 设置是使用您在 XML 文件中声明的 Preference 类的各种子类构建而成,而不是使用...您添加的每个 Preference 都有一个相应的键值对,可供系统用来将设置保存在应用设置的默认SharedPreferences 文件中。...注:如果您在开发针对 Android 3.0 及 更高版本的应用,则应改为使用 PreferenceFragment。转到下文有关使用首选项片段的部分。...但是,您必须存储对侦听器的强引用,否则它将很容易被当作垃圾回收。 我们建议您将对侦听器的引用保存在只要您需要侦听器就会存在的对象的实例数据中。 例如,在以下代码中,调用方未保留对侦听器的引用。...指定用户界面 如果您要直接扩展 Preference 类,则需要实现 onClick() 来定义在用户选择该项时发生的操作。

    3.1K10

    JAVA面试必备知识(基础篇)

    在 Instrument 引用调用 play() 方法时,会执行实际引用对象所在类的 play() 方法,而不是 Instrument 类的方法。2、对equals()和hashCode()的理解?...这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的,但是什么时候调用 finalize 没有保证。finally 是一个关键字,与 try 和 catch 一起用于异常的处理。...finally 块一定会被执行,无论在 try 块中是否有发生异常。5、接口与抽象类的区别?...调用super()必须写在子类构造方法的第一行, 否则编译不通过super从子类调用父类构造, this在同一类中调用其他构造均需要放在第一行尽管可以用this调用一个构造器, 却不能调用2个this和...super不能出现在同一个构造器中, 否则编译不通过this()、super()都指的对象,不可以在static环境中使用本质this指向本对象的指针。

    66530

    JetBrains全家桶2024首个大版本更新

    二、关键亮点 1、对 Java 22 功能的支持 IntelliJ IDEA 2024.1 提供了对 2024 年 3 月发布的 JDK 22 中的功能集的支持, 支持覆盖未命名变量与模式的最终迭代、字符串模板与隐式声明的类的第二个预览版...此外,此更新还引入了对 super(...) 之前预览状态下的 new 语句的支持。...您可以使用注解,注解会自动选择所需语言,也可以使用 Inject language or reference(注入语言或引用)意图操作 (⌥Enter) 从列表中手动选择语言。...如果您使用后一种方式,IDE 将建议您插入语言注解。执行注入后,您可以再次调用意图操作列表,并选择在独立编辑器窗格中打开和编辑注入的片段。...现在,对话框中的代码反映了编辑器中的内容,使您可以更清楚地了解冲突,并且 IDE 会自动保存窗口大小调整以供将来使用。

    59110

    知识点 | ViewModel 四种集成方式

    设置 Save State 模块 现在让我们看看如何使用 SaveState 组件。注意接下来的代码会和 Lifecycles Codelab 第六步中的一段代码十分相似。...: "" } } 复制代码 构造方法: SavedStateHandle 作为构造方法参数传入 MyViewModel; 保存: saveNewUser 方法展示了使用键值对的形式保存 USER_KEY...每当数据更新时,要保存新的数据到 SavedStateHandle; 获取: 如代码中所示,调用 savedStateHandle.get(USER_KEY) 方法获取被保存的 userId。...如果您不了解协程,这里有一系列很棒的博客《在 Android 开发中使用协程》以及 codelab: 在 Android 应用中使用 Kotlin 协程以供参考。...上面的代码中,我使用了 GlobalScope,正如我们不推荐随意使用全局变量一样,这种方式通常不推荐使用。所以,如果想要使用协程,您要么限定一个作用域 (scope),要么获得一个作用域的访问权限。

    2.6K20

    onSaveInstanceState和onRestoreInstanceState详解

    这个方法在一个activity被杀死前调用,当该 activity在将来某个时刻回来时可以恢复其先前状态。...如果调用,调用将发生在onPause()或onStop()方法之前。...四. onSaveInstanceState()方法的默认实现    如果我们没有覆写onSaveInstanceState()方法, 此方法的默认实现会自动保存activity中的某些状态数据, 比如...由上所述, 如果我们需要覆写onSaveInstanceState()方法, 一般会在第一行代码中调用该方法的默认实现:super.onSaveInstanceState(outState)。 五....大家需要注意的是:onSaveInstanceState()方法只适合保存瞬态数据, 比如UI控件的状态, 成员变量的值等,而不应该用来保存持久化数据,持久化数据应该当用户离开当前的 activity

    2.2K50

    netty案例,netty4.1源码分析篇六《Netty异步架构监听类Promise源码分析》

    将来;未来;未来的事;将来发生的事;前景;前途;前程 他们的含义都是对未来即将要发生的事情做相应的处理,这也是在异步编程中非常常见的类名。...DefaultPromise | 使用 在Netty中使用到Promise的地方会非常多,例如在前面一节《一行简单的writeAndFlush都做了哪些事》分析HeadContext.write中unsafe.write...,将传入的回调类传入到listeners对象中,如果监听多于1个,会创建DefaultFutureListeners对象将回调方法保存在一个数组中。...addListener时任务完成,notifyListeners()执行回调,会提交到线程池中执行;而如果是执行Future任务的线程池中setSuccess()时调用notifyListeners()...,会放在当前线程中执行。

    53720

    设计 repeatOnLifecycle API 背后的故事

    注意: 如果您在查找 repeatOnLifecycle 的使用指南,请查阅: 使用更为安全的方式收集 Android UI 数据流。...addRepeatingJob 执行了协程的工作,没有什么会阻止我在协程当中调用它,对吗?...因为 addRepeatingJob 创建了一个新的协程,并使用了 lifecycleScope (隐式调用于该 API 的实现中),这个新的协程既不会遵循结构化并发原则,也不会保留当前的调用上下文。...因此,当您调用 job.cancel() 的时候它也不会被取消。这可能会导致您应用中存在非常隐蔽的错误,并且非常不好调试。...如果您需要在 repeatOnLifecycle API 之上创建封装函数以涵盖您的应用中更常见的应用场景,请一定问问自己是否真的需要它,或者是为什么需要它。

    88321

    Flutter必备语言Dart教程03 - 类,泛型

    这样我们在调用不同构造函数时,语义会更加清晰明了,不用根据参数去判断了。 继承 您可以使用extend关键字在Dart中继承其他类。 ?...这里我们的Pug类继承自Dog类,并使用super关键字,传入适当的参数,调用Dog类的构造函数。 您还可以在冒号(:) 之后使用关键字this来调用同一类中的其他构造函数。...Getters & Setters 默认情况下,您在类中定义的任何变量,只需引用对象上的变量名称即可访问,例如dog.name,对象变量也可以直接赋值。...控制可访问性 默认情况下,您在类中定义的每个属性和方法都是公共的,可以直接访问。在Dart中,您可以通过在其名称前添加“_”来使任何变量或方法变为私有。让我们将name属性设为私有。 ?...枚举 Dart支持枚举,并像其他语言一样使用。如果你来自Java语言,会很熟悉它们。 ? 泛型 Dart全面支持泛型。假设您正在编写一个只保存数据的类,并且您希望它能够保存任何类型的数据。

    1.3K10

    在Linux中,一切都是文件

    如果您使用IDE硬盘驱动器(而不是SCSI),则您的硬盘驱动器将被称为/ dev / hda。不要删除它,因为你的硬盘会旋转,跳出电脑,落在地板上,渗漏到所有的地方。不,不是。...高级用户可能因为他们自己的原因(他们可能更喜欢/鞋子)而改变内核的位置,但通常放在大多数系统上。您最终必须使用此目录,因为将来您可能需要使用两种或更多种不同类型的内核。这将在更高级的课程中被采用。...稍后你会发现,当你像KDE一样使用Windows风格的系统时,这个窗口管理器将在那里创建文件以供临时使用。当您双击照片的图标时,照片出现供您查看,但您在查看照片时会创建临时文件。...通常,MySQL将其数据保存在/ var的子目录/ var / mysql /中。如果我有一个电子商务网站,我会有一个数据库来注册购买。这个数据库的规模将明显增长。如果没有,我会陷入困境。...我们所有人都有一定的喜好使用程序。这些首选项通常包含在也存储在用户主目录中的配置文件中。大多数这些文件以“.”开头。(周期/点)。

    1.1K101

    知识点 | ViewModel 四种集成方式

    设置 Save State 模块 现在让我们看看如何使用 SaveState 组件。注意接下来的代码会和 Lifecycles Codelab 第六步中的一段代码十分相似。...: "" } } 构造方法: SavedStateHandle 作为构造方法参数传入 MyViewModel; 保存: saveNewUser 方法展示了使用键值对的形式保存 USER_KEY...每当数据更新时,要保存新的数据到 SavedStateHandle; 获取: 如代码中所示,调用 savedStateHandle.get(USER_KEY) 方法获取被保存的 userId。...如果您不了解协程,这里有一系列很棒的博客《在 Android 开发中使用协程》以及 codelab: 在 Android 应用中使用 Kotlin 协程以供参考。...上面的代码中,我使用了 GlobalScope,正如我们不推荐随意使用全局变量一样,这种方式通常不推荐使用。所以,如果想要使用协程,您要么限定一个作用域 (scope),要么获得一个作用域的访问权限。

    54620

    10 种 JavaScript 最常见的错误

    我们会告诉你什么原因导致了这些错误,以及如何防止这些错误发生。如果你能够避免落入这些 “陷阱”,你将会成为一个更好的开发者。...在我们工作中,这种错误可能发生的一种场景是:如果在加载元素之前尝试在 JavaScript 中使用元素。 因为 DOM API 对于空白的对象引用返回值为 null。...5、 TypeError: Object doesn’t support property 这是您在调用未定义的方法时发生在 IE 中的错误。 您可以在 IE 开发者控制台中进行测试。 ?...通常,如果您在 Rollbar 命名空间内,则可以使用以下语法调用 isAwesome 方法: this.isAwesome(); Chrome,Firefox 和 Opera 会欣然接受这个语法。...如果在使用 event 时遇到此错误,请确保使用传入的事件对象作为参数。像 IE 这样的旧浏览器提供了一个全局变量事件,但并不是所有浏览器都支持。

    8.6K20

    在 Android 开发中使用协程 | 背景介绍

    本文是介绍 Android 协程系列中的第一部分,主要会介绍协程是如何工作的,它们主要解决什么问题。 协程用来解决什么问题?...Kotlin 使用堆栈帧来管理要运行哪个函数以及所有局部变量。暂停协程时,会复制并保存当前的堆栈帧以供稍后使用。恢复协程时,会将堆栈帧从其保存位置复制回来,然后函数再次开始运行。...使用协程保证主线程安全 在 Kotlin 的协程中,主线程调用编写良好的 suspend 函数通常是安全的。不管那些 suspend 函数是做什么的,它们都应该允许任何线程调用它们。...Kotlin 提供了三个调度器,您可以使用它们来指定应在何处运行协程: 如果您在 Room 中使用了 suspend 函数、RxJava 或者 LiveData,Room 会自动保障主线程安全。...类似于 Retrofit 和 Volley 这样的网络库会管理它们自身所使用的线程,所以当您在 Kotlin 协程中调用这些库的代码时不需要专门来处理主线程安全这一问题。

    1.6K30

    Fragment 的过去、现在和将来

    测试 Fragment 的重建也是类似操作,假如您想要测试是否正确存储和恢复了 Fragment 的状态信息,只需要调用 recreate() 方法,就可以检查 Fragment 重建前后状态信息的保存情况...下面是一个简单的 FragmentFactory,它只有一个方法 —— instantiate,您只需要在这个方法中传入 Fragment 的类名,随后 super.instantiate() 方法就会使用反射调用对应...在此示例中,如果用户触发了回退操作,就会弹出一个确认窗口,而如果用户随后表示无论如何都想要退出的话,您可以先使回调失效,然后就可以执行默认的回退操作。...下面是一个我们的示例应用。我们想要做的事情就是让应用中每个底部标签页都拥有自己的栈,这样它们就能保存各自的状态。而当您在这些标签页间切换时,我们也将帮您处理好从一个栈到另一个栈时状态的保存和恢复。...我们正努力将文中提到的新特性带给各位开发者,而在此之前,如果您在使用 Fragment 时有任何问题和疑惑,可以使用 issuetracker.google.com 向我们提交反馈或功能请求,谢谢!

    92810

    第五章:面向对象编程

    属于引用数据类型 s1 也是局部变量 s1 变量中保存的是堆内存中Student 对象的内存地址 其中 , s1有一个特殊的称呼:引用 什么是引用?...这是一个非常著名的异常。 // 为什么会出现空指针异常?因为运行的时候会找真正的对象,如果对象不存在了,就会出现这个异常。...方法覆盖 回顾方法重载 overload 什么时候考虑使用方法重载 在一个类中,如果功能相似,可以考虑使用方法重载。 这样做的目的是:代码美观,方便编程。...,其中不能省略的情况为:​ 当父类和子类中定义了相同的属性(实例变量)或者相同方法(实例方法)时,如果需要在子类中访问父类的属性或方法时,super.不能省略。...当一个构造方法第一行没有显示的调用“super(实参);”,也没有显示的调用“this(实参)”,系统会自动调用super()。因此一个类中的无参数构造方法建议显示的定义出来。 ​

    11811

    Python 自动化指南(繁琐工作自动化)第二版:十一、调试

    从回溯中,您可以看到错误发生在第 5 行的bacon()函数中。这个对bacon()的调用来自第 2 行的spam()函数,该函数在第 7 行被调用。...日志 如果您曾经在程序运行时在代码中放入一个print()语句来输出某个变量的值,那么您已经使用了一种形式的日志来调试您的代码。日志记录是了解程序中发生了什么以及发生的顺序的好方法。...Python 的logging模块使得创建您编写的定制消息的记录变得容易。这些日志消息将描述程序执行到达日志函数调用的时间,并列出您在该时间点指定的任何变量。...日志消息显示了循环内部发生了什么,这直接导致了 bug。 您可以看到,logging.debug()调用不仅打印出传递给它们的字符串,还打印出时间戳和单词DEBUG。...五个日志记录级别是什么? 您可以添加哪一行代码来禁用程序中的所有日志消息? 为什么使用日志消息比使用print()显示相同的消息更好?

    1.5K40
    领券