返回类型为int且使用super和不使用super关键字的任何函数的输出之间有什么区别?

问题描述

This is sample problem

Output of Sample problem

我对java中super()关键字的功能感到困惑。 如果我不使用超级关键字,那么它不会给出任何“函数的返回值”。 当我使用超级kayword时,它会显示函数的返回值”。 有人可以向我解释这个原因吗?

解决方法

super()方法我指的是父类。在此示例中,Child_Class是父类(或超类),Shapes是子类。您可以知道是因为形状扩展了Child_Class。

super.area()引用父类中的area()方法,因此Child_Class中的那个。是将要返回的值。

,

super关键字引用超类(父)对象。它用于调用超类方法,并访问超类构造函数。 我将逐行解释您的输出:

第一行 圆的面积将为314.0来自代码: 由于您正在创建Child_Class的实例并调用其方法

Child_Class cc= new Child_Class()
cc.area();

第一行 当您调用父类的Area方法时,圆的面积将为314.0来自代码

super.area();

第三行: 10 来自打印super.area()返回的值,因为super.area()返回的半径被硬编码为10。这里,您正在调用父类的area方法。

System.out.println(super.area());

第四行正方形的面积将为100来自

System.out.println("Area of square will be " + side*side);

当您不使用super时,仅表示您没有在调用父类方法。