首页 > 其他分享 >this与super

this与super

时间:2023-04-15 23:14:25浏览次数:28  
标签:调用 构造方法 默认 实例 父类 super

      对象实例化时,至少有一条从本类出发抵达Object的通路,而打通这条路的两个主要工兵就是this和super,逢山开路,遇水搭桥。但是this和super往往是默认无闻的,在很多情况下可以省略,比如:
 ·  本类方法调用本类属性
 ·  本类方法调用另一个本类属性
 ·  子类构造方法隐含调用super()。
     任何类在创建之处,都有一个默认的空构造方法,它是super的一条默认通路。构造方法的参数列表决定了调用通路的选择;如果子类指定调用父类的某个构造方法,super就会不断往上朔源;如果没有指定,则默认调用super()。如果父类没有提供默认的构造方法,子类在继承时就会编译错误。

     如果父类坚持不提供默认的无参构造方法,必须在本类的无参构造方法中使用super方法调用父类的有参构造方法,如public Son(){super(123)}; 一个实例变量可以通过this.赋值另一个实例变量;一个实例方法可以通过this.调用另一个实例方法;甚至一个构造方法都可以通过this.调用另一个构造方法。如果this和super指代构造方法,则必须位于方法体中的第一行。换句话说,在一个构造方法中,this和super只能出现一个,且只能出现一次,否则在实例化对象时,会因子类调用到多个父类构造方法而造成混乱。

     由于this和super都在实例化阶段调用,所以不能在静态方法和静态代码块中使用this和super关键字。this还可以指代当前对象,比如在同步代码块synchronized(this){...}中,super并不具备此能力。但super也有自己的特异功能,在子类覆写父类方法时,可以使用super调用父类同名的实例方法。最后总结一下this和super的异同点,如图2-5所示

 

标签:调用,构造方法,默认,实例,父类,super
From: https://www.cnblogs.com/ganjing/p/17320286.html

相关文章

  • 论文解读( FGSM)《Adversarial training methods for semi-supervised text classificat
    论文信息论文标题:Adversarialtrainingmethodsforsemi-supervisedtextclassification论文作者:TaekyungKim论文来源:ICLR2017论文地址:download 论文代码:download视屏讲解:click1 背景1.1 对抗性实例(Adversarialexamples)通过对输入进行小扰动创建的实例,可显著增加机器......
  • 迁移学习()《Attract, Perturb, and Explore: Learning a Feature Alignment Network fo
    论文信息论文标题:Attract,Perturb,andExplore:LearningaFeatureAlignmentNetworkforSemi-supervisedDomainAdaptation论文作者:TaekyungKim论文来源:2020ECCV论文地址:download 论文代码:download视屏讲解:click1摘要提出了目标域内的域内差异问题。提......
  • 迁移学习《Cluster-Guided Semi-Supervised Domain Adaptation for Imbalanced Medica
    论文信息论文标题:Cluster-GuidedSemi-SupervisedDomainAdaptationforImbalancedMedicalImageClassification论文作者:S.Harada,RyomaBise,KengoAraki论文来源:ArXiv2March2023论文地址:download 论文代码:download视屏讲解:click1摘要一种半监督域自适应方法,......
  • 异常检测 | 迁移学习《Anomaly Detection in IR Images of PV Modules using Supervis
    论文信息论文标题:AnomalyDetectioninIRImagesofPVModulesusingSupervisedContrastiveLearning论文作者:AbhayRawat, IshaDua, SauravGupta, RahulTallamraju 论文来源:LukasBommes,MathisHoffmann,ClaudiaBuerhop-Lutz,TobiasPickel,JensHauch,Christ......
  • Centos 7 pip3安装 supervisor
    1、安装supervisorpip3installsupervisor2、新建文件夹mkdir/etc/supervisord.d3、生成supervisor.conf配置echo_supervisord_conf>/etc/supervisord.conf4、启动supervisor/usr/local/python3/bin/supervisord-c/etc/supervisord.conf5、例子:配置supervisor管理n......
  • 迁移学习(SPI)《Semi-Supervised Domain Adaptation by Similarity based Pseudo-label
    论文信息论文标题:Semi-SupervisedDomainAdaptationbySimilaritybasedPseudo-labelInjection论文作者:AbhayRawat, IshaDua, SauravGupta, RahulTallamraju 论文来源:PublishedinECCVWorkshops5September2022论文地址:download 论文代码:download视屏讲解:click......
  • supervisord 中的 open files 数量限制
    Linux中的nofile设置Linux系统通过rlimit来对一个进程可以使用的计算机资源进行限制,其中nofile表示单个进程可以打开的文件句柄数,默认值为1024。我们知道,Linux系统下一切都是文件,这不仅包括了常规的文件,还包括socket,pipe等等,对于一些较大的应用,如数据库,Web服务器......
  • 迁移学习《Efficient and Robust Pseudo-Labeling for Unsupervised Domain Adaptatio
    论文信息论文标题:EfficientandRobustPseudo-LabelingforUnsupervisedDomainAdaptation论文作者:HochangRhee、NamIkCho论文来源:2019——ICML论文地址:download 论文代码:download视屏讲解:click1摘要问题:无监督域适应传统方法将超过一定置信度阈值的数据视为目标域......
  • 迁移学习《Asymmetric Tri-training for Unsupervised Domain Adaptation》
    论文信息论文标题:AsymmetricTri-trainingforUnsupervisedDomainAdaptation论文作者:KuniakiSaito, Y.Ushiku, T.Harada论文来源:27February2017——ICML论文地址:download 论文代码:download视屏讲解:click1介绍简单的域分布对齐可能无法提供有效的判别表示,为学......
  • super关键字
    super关键字基本介绍super代表父类的引用,可以引用方法,属性以及构造器基本语法访问父类的属性,但不能访问private属性,案例:super.属性名;访问父类的方法,但不能访问private方法,案例:super.方法名(参数列表);访问父类的构造器,super.(参数列表);super带来的便利/细节调用父类构......