java关键字this和super,java中this和super的作用
00-1010父类空间优先于子类对象,以产生super和this的含义。super和this的用法是继承的。
00-1010每次创建子类对象时,首先初始化父类空间,然后创建其子类对象本身。目的是如果子类对象包含其对应的父类空间,它就可以包含其父类的成员。如果父类成员不是私有的,子类可以随意使用父类成员。当代码被子类的构造函数调用时,必须先调用父类的构造函数。
理解图解如下:
00-1010super :代表父类的存储空间标识(可以理解为父类的引用)。This:代表当前对象的引用(谁调用它就代表谁)。
目录
访问成员:
这个。超级可变‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐82
用法演示,代码如下:
class Animal { public void eat(){ system . out . println( Animal : eat );} }类Cat扩展Animal { public void eat(){ system . out . println( Cat : eat );} public void eat test(){ this . eat();//这会调用该类的super.eat()方法;//超级调用父类的方法}}公共类扩展demo 08 { public static void main(string[]args){ animal a=new animal();a . eat();Cat c=new Cat();c . eat test();} }输出结果为:
动物:吃
访问构造方法:
这(.‐‐‐这类超级建筑的施工方法(.‐父类的构造方法
子类的每个构造方法中都有一个默认的super(),调用父类的空参数构造。手动调用父类构造将覆盖默认的super()。super()和this()都必须在构造函数的第一行,所以不能同时出现。
父类空间优先于子类对象产生
1.Java只支持单一继承,不支持多重继承。
//一个类只能有一个父类,不能有多个父类。C类扩展A { }//ok C类扩展A,B.//错误
2.Java支持多层继承(继承系统)。
A类{ } B类扩展A { } C类扩展B{}
顶级类是对象类。默认情况下,的所有类都继承Object作为父类。
3.子类和父类是相对的概念。
本文关于Java中super和this关键字的详细解释到此为止。关于Javasuper和this的更多信息,请搜索以前关于popular IT的文章或继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。