了解关键字超级:Java教程
面向对象语言由三个积分特征组成:继承,多态性和数据封装。继承是指在子对象中继承父对象特征的过程,而无需在子对象中重写代码。多态性是指通过方法过载和方法来实现统一的界面,用于通过方法过载和方法实现多功能。封装是指数据隐藏,导致使用方法管理对数据的访问。Java是提供三种面向对象语言之一,提供了三个上述功能。Java包含几种内置关键字,可用于在父类和子类之间进行通信。一个这样的关键字是“超级”关键字。
想了解更多关于Java的信息吗?在Udemy.com拍摄课程。
java中的超级关键字是什么?
通常,儿童课程需要与父类和方法进行交互。有时,子类实例中需要父类的实例变量。在这种情况下,可以使用Super关键字,它提供对使用子类实例的父类变量和方法的访问。
java超级的用途
在Java中,超级关键字基本上有三种用途。详细说明了下一节中的这些用途。
1-super for访问父类成员变量。
考虑一个场景,其中父类形状和子类广场。父类形状具有名为“区域”的整数类型变量。形状类还包含名为“区域”的成员变量。如果访问Square类的区域成员,将访问Square类的区域实例。最好在一个例子的帮助下解释:
考虑带有以下类定义的父形式类:
上市班级形状 {上市㈡面积= 45;延伸形状类的一个方形类如下所示:上市班级正方形延伸形状 {上市㈡面积= 10;上市㈡getarea(){返回区域;}}
现在,如果从平方类的实例调用getarea方法,则返回的区域将是Square类的区域实例的值。但是,父类形状也具有该区域作为成员变量。这在以下代码段中展示了:
Square S =新的正方形();系统。出去.println(s.getarea());
上面的代码将在控制台屏幕上显示10,这是子类广场的区域。
但是,如果需要父类形状的区域?如何获得该区域实例的值?子类还包含具有相同名称的实例成员。在这种情况下,使用超级关键字。在以下示例中,在最后一个示例的平方类中,已经进行了微小的变化。看看Square Class的修改定义:
上市班级正方形延伸形状 {上市㈡面积= 10;上市㈡getarea(){返回区域;}上市㈡getparentarea(){返回极好的。区域;}}
在上面的代码段中,Square Class包含一个名为getparentarea的附加方法。在方法内,已使用Super关键字后跟点运算符和要访问的父类的实例成员,即在这种情况下是该区域。此值已返回调用函数。
现在,执行以下代码行将显示45,这是父类形状的区域。
system.out.println(s.getparentarea());
您可以看到虽然's'是Square类的对象,通过此对象访问父类别的区域。
基本上,Super关键字用作对子类中的父类对象的引用。因此,当关键字Super在子广场内使用时,Super关键字将作为对形状类实例的引用。
2-Super for访问父类构造函数
Super关键字可用于访问子类内的父类构造函数。要查看Super关键字如何用于访问父类构造函数,请查看以下示例:
在最后一个示例中修改形状类以包含类。形状类现在应该如下所示:
上市班级形状{shape(){system。出去.println(“这是父形式级构造函数”);}}
此外,更改Square Class的定义,也包括平方类中的构造函数。Square Class现在应该如下所示:
上市班级正方形延伸形状{square(){极好的();系统。出去.println(“这是儿童广场级构造函数”);}}
在上面的代码中,在Square类的构造函数内,Super关键字用作方法“Super()”。关键字Super作为方法的用法将调用父类的构造函数。
现在,如果创建了Square类的对象,将调用Square类的构造函数。在Square Class的构造函数内,首先将通过Super()调用形状类的构造函数,然后将显示Square Class构造函数内的其余代码。
现在,如果平方类实例化如下:
Square S =新的正方形();
控制台输出看起来像这样:
这是父形式类构造函数
这是儿童广场级构造函数
3-Super for访问父类方法
Super关键字的第三个和最终用法用于访问子类中的父类方法。修改形状和方形课程,如下所示来理解这一概念。
形状类:上市班级形状 {㈡面积= 45;上市空白displayarea(){system。出去.println(“父类形状的区域是:”+区域);}}广场课程:上市班级正方形延伸形状 {㈡面积= 10;上市空白displayarea(){极好的.displayarea();系统。出去.println(“儿童类广场的区域是:”+区域);}}
在Square类中,在displayAlea()方法中,使用super.displayArea()方法调用父类的DisplayAlea()方法。现在,如果在Square类的实例上调用displayArea()方法,它将首先调用父形式类的DIMPERALEA()方法,然后执行子平方类的DIMPERALA()方法中的剩余代码。以下代码演示了这一概念:
Square S =新的正方形();s.displayarea();
上述代码的输出将是:
父类形状的区域是:45
儿童类广场的面积是:10