this与super的应用

Minio HTTPS证书配置实战:从申请到部署全流程 本文详细介绍了Minio HTTPS证书配置的全流程,从申请到部署,确保对象存储服务的安全性。内容包括证书类型选择、文件处理、服务配置调整及常见问题解决,帮助用户在生产环境中快速实现HTTPS加密传输,提升数据安全。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量。但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的。好了,现在开始讨论this&super这两个关键字的意义和用法。   在Java中,this通常指当前对象,super则指父类的。当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的,当然,this的另一个用途是调用当前对象的另一个构造函数,这些马上就要讨论。如果你想引用父类的某种东西,则非super莫属。由于this与super有如此相似的一些特性和与生俱来的某种关系,所以我们在这一块儿来讨论,希望能帮助你区分和掌握它们两个。   在一般方法中   最普遍的情况就是,在你的方法中的某个形参名与当前对象的某个成员有相同的名字,这时为了不至于混淆,你便需要明确使用this关键字来指明你要使用某个成员,使用方法是“this.成员名”,而不带this的那个便是形参。另外,还可以用“this.方法名”来引用当前对象的某个方法,但这时this就不是必须的了,你可以直接用方法名来访问那个方法,编译器会知道你要调用的是那一个。下面的代码演示了上面的用法:   public class DemoThis{  private String name;  private int age;  DemoThis(String name,int age){   setName(name); //你可以加上this来调用方法,像这样:this.setName(name);但这并不是必须的   setAge(age);   this.print(); br> }   public void setName(String name){   this.name=name;//此处必须指明你要引用成员变量  } public void etAge(int age){  this.age=age;  }  public void print(){   System.out.println("Name=" name " ge=" age); //在此行中并不需要用this,因为没有会导致混淆的东西  }  public static void main(String[] args){   DemoThis dt=new DemoThis("Kevin","22");   这段代码很简单,不用解释你也应该能看明白。在构造函数中你看到用this.print(),你完全可以用print()来代替它,两者效果一样。下面我们修改这个程序,来演示super的用法。   class Person{  public int c;  private String name;  private int age; protected void setName(String name){   this.name=name;  }  protected void setAge(int age){  this.age=age;  } protected void print(){   System.out.println("Name=" name " Age=" age); } } public class DemoSuper extends Person{  public void print(){   System.out.println("DemoSuper:");  super.print(); }  public static void main(String[] args){  DemoSuper ds=new DemoSuper();  ds.setName("kevin");  ds.setAge(22);  ds.print(); } }   在DemoSuper中,重新定义的print方法覆写了父类的print方法,它首先做一些自己的事情,然后调用父类的那个被覆写了的方法。输出结果说明了这一点:   DemoSuper: Name=kevin Age=22   这样的使用方法是比较常用的。另外如果父类的成员可以被子类访问,那你可以像使用this一样使用它,用“super.父类中的成员名”的方式,但常常你并不是这样来访问父类中的成员名的。   在构造函数中构造函数是一种特殊的方法,在对象初始化的时候自动调用。在构造函数中,this和super也有上面说的种种使用方式,并且它还有特殊的地方,请看下面的例子:    class Person{  public static void prt(String s){   System.out.println(s);  }  Person(){  prt("A Person.");  } Person(String name){   prt("A person name is:" name);  } } public class Chinese extends Person{  Chinese(){   super(); //调用父类构造函数(1)  prt("A chinese.");//(4) }  Chinese(String name){   super(name);//调用父类具有相同形参的构造函数(2)   prt("his name is:" name); } Chinese(String name,int age){   this(name);//调用当前具有相同形参的构造函数(3)  prt("his age is:" age); } public static void main(String[] args){  Chinese cn=new Chinese();   cn=new Chinese("kevin");  cn=new Chinese("kevin",22); } }   在这段程序中,this和super不再是像以前那样用“.”连接一个方法或成员,而是直接在其后跟   上适当的参数,因此它的意义也就有了变化。super后加参数的是用来调用父类中具有相同形式的   构造函数,如1和2处。this后加参数则调用的是当前具有相同参数的构造函数,如3处。当然,在   Chinese的各个重载构造函数中,this和super在一般方法中的各种用法也仍可使用,比如4处,你   可以将它替换为“this.prt”(因为它继承了父类中的那个方法)或者是“super.prt”(因为它   是父类中的方法且可被子类访问),它照样可以正确运行。但这样似乎就有点画蛇添足的味道   了。   最后,写了这么多,如果你能对“this通常指代当前对象,super通常指代父类”这句话牢记在   心,那么本篇便达到了目的,其它的你自会在以后的编程实践当中慢慢体会、掌握。另外关于本
endNote X9 增加 / 删除参考文献 文献编号自动更新 EndNote X9 插入参考文献常见问题总结。增删参考文献 文献编号自动更新 阅读详情

相关推荐

【技术笔记】Cadence实现Orcad与Allegro软件交互式布局设置

为了达到原理图和PCB两两交互的功能,需要在ORCAD中将允许交互进行勾选,这样才可以,执行菜单命令Options-Preference后,我们打开参数界面,进行选择Miscellaneous菜单,将交互模式进行勾选。在做硬件pcb设计的时候,原理图选中一个元器件,希望可以再PCB中可以直接选中。对于网表必须是导入第一方网表,第三方是无效的。在allegro中使能/关闭交互式布局功能。

weixin_50499137的博客 2082

关键字super和this的使用及区别

"this"作为一个特殊的关键字,它的规则如下: 1.可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。 2.可以在一个类的非static成员内部使用,表示当前这个对象。此时,this就是一个final的普通变量,它有静态类型,就是这个类本身;它有动态类型,就是当前这个对象的类型。你可以对它调用成员函数,把它传递给别的函...

weixin_34355715的博客 196

Redis中什么是Big Key(大key)问题?如何解决Big Key问题?

通俗易懂的讲,Big Key就是某个key对应的value很大,占用的redis空间很大,本质上是大value问题。key往往是程序可以自行设置的,value往往不受程序控制,因此可能导致value很大。redis中这些Big Key对应的value值很大,在序列化/反序列化过程中花费的时间很大,因此当我们操作Big Key时,通常比较耗时,这就可能导致redis发生阻塞,从而降低redis性能。用几个实际的例子对大Key的特征进行描述:● 一个String类型的Key,它的值为5MB(数据过大); ● 一

weixiaohuai的博客 3万+

Java——实例构造方法:super()、this()(概念理解+应用举例)

Java——实例构造方法:super()、this()(概念理解+应用举例)

贝尔摩德苦艾酒 9988

Vlan的封装模式和端口讲解(Access、Trunk、Hypbrid端口)

Vlan(Virtual Local Area Network)虚拟局域网,将一个物理的LAN在逻辑上划分为多个广播域,在交换机上实现广播域隔离(增强局域网的安全性、限制广播风暴、简化网络管理)Vlan通过将二层数据帧打上Vlan标签(打上Vlan标签也就是封装Vlan),正常情况下,不同Vlan Tag的数据包是无法二层直接互访的,以此来实现广播域的隔离可以理解为一个Vlan对应一个广播域,同一Vlan内的主机可以二层直接通信,不同Vlan间的主机无法二层直接通信。

m0_49864110的博客 5647

重构工业交互体验:响应式数据可视化大屏解决方案

从智慧园区到数据中心,从水务监控到风力发电场景,HT 通过 2D/3D 组态技术与响应式布局机制,让数据以更灵活、更精准的方式呈现场景动态 —— 这正是 HT 技术在工业可视化领域的核心价值。例如,在智慧楼宇监控系统中,HT 引擎可实时渲染建筑结构、设备状态与数据流,同时确保画面在不同尺寸屏幕上的一致性。以某工业数据中心大屏为例,HT 通过暗红色主调搭配工业元素,结合粉色与黄色点缀,打破传统深蓝色大屏的视觉定式,同时通过矢量图形确保色彩在不同亮度下的辨识度 —— 这正是 HT 技术在视觉设计上的独特优势。

Hightopo的博客 890

Java中super关键字及super()的使用

Java中super关键字及super()的使用:1、super的使用:(1)super是一个关键字。(2)super和this很类似,我们对比着学习。2、先复习一下this关键字的使用。(1)this能出现在实例方法和构造方法中; (2)this的语法是“this.”和“this()”; (3)this不能出现在静态方法中; (4)this大部分情况下是可以省略的; (5)this.什么时候不能省略呢? 在区分局部变量和实例变量时不能省略。例如: (6)this()只能出现在构造方法的第一行,通过当前的构

m0_67401055的博客 6720

使用GitLab的VS Code插件 GitLab Workflow 来进行项目的DevOps管理,助力研发效能

使用VS Code的GitLab Workflow插件,进行项目的DevOps管理,将效率提升到MAX。直接在VScode中管理流水线,一键跳转到创建 Issues,MR

知无涯 5295

Java 类继承与构造方法调用实战解析:super与this的应用

本文解析了Java类继承与构造方法调用的典型考题,重点讲解了main方法声明和构造方法调用规则。试题包含两处关键填空:1) main方法声明应为"public static void main(String args[])";2) TT类构造方法中应使用"this()"调用本类无参构造。文章详细说明了程序执行流程:创建子类对象时,会依次调用父类和子类的构造方法,输出"多高兴啊!我是小龙您好吗?"。核心知识点包括:main方法格式必须正确、super

Java程序员_编程开发学习笔记_网站安全运维教程_渗透技术教程 763

R语言机器学习算法实战系列(十三)随机森林生存分析构建预后模型 (Random Survival Forest)

本教程运用随机森林生存分析筛选与患者生存状态显著相关特征。该方法借随机森林这一强大机器学习算法,构建多棵决策树并集成结果,以提高生存分析准确性,识别关键生物标志物。接着,利用选定特征构建风险得分,将多个特征转化为单一数值,量化患者风险水平。之后,依据风险得分将患者分为高、低风险亚型,为临床治疗提供个性化指导。最后,通过分析时间依赖的 ROC 曲线评估模型长期预测能力。此曲线计算不同阈值下的真正例率与假正例率,在多个时间点评估,全面展现模型长期稳定性与准确性。

专注生信领域 2025

【Linux】Windows11 安装 WSL2 并运行 Ubuntu 22.04 详细操作步骤

Windows 11 安装 WSL2 和 Ubuntu 22.04 指南 本文详细介绍在 Windows 11 上安装 WSL2 和 Ubuntu 22.04 的完整步骤,包括: WSL2 与 VirtualBox 的性能对比优势 系统版本检查与升级方法 两种安装方式(一键安装和手动安装) Ubuntu 22.04 的安装与配置 存储位置管理及迁移技巧 常用 WSL2 命令速查表 文章还提供了性能优化建议和常见问题解决方案,适合开发者和 Linux 爱好者快速搭建高效的开发环境。

No8g攻城狮的博客 2万+

Overload(重载)与Override(重写)的区别、super和this的区别,以及super和this的应用由哪些? 。3.接口与抽象类的区别、3.接口与抽象类的区别

1.Overload(重载)与Override(重写)的区别 方法的重写Overriding和重载Overloading是Java多态性的不同表现。 重写Overriding是父类与子类之间多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。 子类的对象使用这个方法时,将调用子类中的

窗台的猫 322

PHP实现获取当地网络时间​(附完整源码)

PHP实现获取当地网络时间​(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 239

Java中this与super的区别

this与super关键字在java中构造函数中的应用:** super()函数 **super()函数在子类构造函数中调用父类的构造函数时使用,而且必须要在构造函数的第一行,例如: class Animal { public Animal() { System.out.println("An Animal"); } } class D...

diaozongjian9397的博客 104

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

this和super的区别:

this和super的通俗理解 1、this关键字 1.1、this的作用 调用属性 调用方法 代表当前对象(实质) 1.2、概念 this是自身的一个对象,通常代表对象本身,是对象的一个替代品。 举个例子: 车厘子和樱桃。 1.3、this的用法 1.3.1、直接引用 private String name; private int age; public Father(String name, int age) { super(); this.name = name; this.age

HLM的博客 177

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java接口和类(四)super与this的用法区别

super与this的应用比较:(super代表的是父类对象,this代表的是当前对象) (1)this常用来方便用户对程序的初始化和对当前对象成员与方法的调用 (2)super用来建立父类对象与子类对象之间的链接;构造方法在子类中无法继承,则带参数的构造方法无法用 父类(int,int)使用,但可用super(int,int)来实现; class Point { private in

xiaotian15的专栏 1356

java中关键字this和super的区别与理解:

文章目录this:this调用属性、方法:this调用构造器:super:super调用属性、方法:super调用构造器:this与super的区别总结: this: this理解为:当前对象 或 当前正在创建的对象 可以调用的结构:属性、方法;构造器 this调用属性、方法: 先了解一下形参: 形参的意义就是给属性赋值,我们是要给同名的属性赋值,这时候我们就把形参名和属性的名字写成一样,这样我们就知道我们传入的形参就是要给我们同名的属性去赋值的. 在类的方法中,我们可以使用"this.属性"或"this

山后自相逢 1415

Java四大关键字终极指南:final、static、this、super深度解析与实战应用 [特殊字符]

Java编程语言中有四个至关重要的关键字:final、static、this和super,它们是Java面向对象编程的核心概念。掌握这四大关键字对于写出高质量、可维护的Java代码至关重要。本文将为你提供一份完整的Java四大关键字终极指南,深入解析每个关键字的用法、特性和实战应用场景。 ## 📊 为什么这四大关键字如此重要? 在Java编程中,final、static、this和super

gitblog_00209的博客 547

this、super与out.this的本质

然后子类在父类的后面,加载自己的成员,再执行自己的构造方法。当我们使用对象调用方法时,无论方法中是否有this,out.this,JVM都会将参数,(隐式)传给方法栈中的第0号地址进行存储。几乎等价于new Son(),所以用法参照 new Son(),只是这里单纯的调用构造器,没有其余操作。注意此时还没有this,out.this这些概念,只是JVM给对象分配地址时,把地址存储在这里。super只是一个关键字,如果我们使用它,就是在告诉JVM,跳过子类空间,从父类空间开始找。把当前对象的地址传回去。

weixin_50142696的博客 808

this与super的使用

一、 this:就代表本类的对象, this代表它所在函数所属对象的引用。 简单说:哪个对象在调用this所在的函数,this就代表哪个对象。 二、this的应用: 当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。但凡本类功能内部使用了本类对象,都用this表示。 注意:this语句 :用于构造函数之间进行互相调用。 this语句只能定义在

LiPine的专栏 622

java 中 this 和 super 说明及在构造器中super()和this()相互调用执行顺序

this和super的使用其实很简单,不过有些猿们啊,查看了很多资料后,还是不得要领。 好吧,那我就在众望下整理出秘籍,供猿们修练~~~ 此乃家居出行面试互侃必备啊 this this 表示当前对象 使用上细分的话,this有 this. 和this()的使用情况 ,下面我们开始细撸 this . 使用场景一: 在成员方法中,this.变量名 指带当前对象的变量,此时...

null 7587

Java核心概念解析:从static修饰符到继承、权限修饰符、方法重载与重写,以及super与this关键字的应用详解

(Overriding):子类可以重写父类中的方法,即子类定义了一个与父类同名、参数列表相同的方法。当子类对象调用该方法时,会执行子类中的实现,而不是父类中的实现。:子类可以重写父类中的方法,即子类定义了一个与父类同名、参数列表相同的方法。当子类对象调用该方法时,会执行子类中的实现,而不是父类中的实现。每个子类还有自己特有的方法,例如Dog的bark和Cat的meow。:如果子类定义了一个与父类同名但参数列表不同的方法,那么子类的对象就不能使用父类的该方法。:子类继承了父类中的所有非私有方法。

2401_82398807的博客 1060

【java】this()与super()使用详解

原文地址:http://www.cnblogs.com/hasse/p/5023392.html this三大作用: this调用属性、调用方法、利用this表示当前对象。 this this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。 this的用法在java中大体可以分为3种: 1.普通的直接引用 这种就不用讲了,this相当于

lncsdn_123的博客 13万+

Java学习之:super与this的用法与区别

简述"this.",“this()”,“super,”,"super()"的区别 this. 的对象为本类,this.的操作对象为本类属性或者本类行为 super.表示当前类的父类,super.的操作对象为父类属性或者父类行为 super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)。 this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)。 this 1.this() :是在一个类当中,让一个构造方法能够调用本类的其他构造,从而达到构造方法的代码共享 语法:

qq_35711567的博客 195

java中super的用法和与this的区别

super用于调用父构造器 ------------------------------------------------------------------------------------------------------------------ 1、子类的构造函数如果要引用super的话,必须把super放在函数的首位。 class Base{ Base(){ Syst

hailuoing的专栏 552
上一篇: 经典:Java及相关字符集编码问题研究
下一篇: JSP像乌云般挡住了JSF的光芒
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值