Java 在没有继承的情况下,是否可以从不同的类重载方法?许多消息来源声称没有,但我没有;我没有得到任何错误。为什么会这样?
下面是一个示例程序Java 在没有继承的情况下,是否可以从不同的类重载方法?许多消息来源声称没有,但我没有;我没有得到任何错误。为什么会这样?,java,inheritance,methods,overloading,Java,Inheritance,Methods,Overloading,下面是一个示例程序 class findArea //Class { public void area(int side) *//method with one int argument* { System.out.println("The area of square is:"+side*side); } public void area(int length, int breadth)//method with 2 in
class findArea //Class
{
public void area(int side) *//method with one int argument*
{
System.out.println("The area of square is:"+side*side);
}
public void area(int length, int breadth)//method with 2 int arguments
{
System.out.println("The area of rectangle is:"+length*breadth);
}
public void area(float radius)//method with one float argument
{
System.out.println("The area of circle is:"+3.14*radius*radius);
}
}
public class MethodLoad {
public static void main(String args[])
{
findArea fa = new findArea(); //Object creation
MethodLoad m =new MethodLoad();//Object creation
fa.area(4);
fa.area(7.0f);
fa.area(5,6);
m.area(2.0f,3.5f);
}
public void area(float base, float height )//method with 2 float arguments
{
System.out.println("The area of triangle is:"+0.5*base*height);
}
}
这里findArea类和MethodLoad类没有父子关系。但可以在没有任何错误的情况下重载方法。有人请告诉我它是否正确。在Java中重载方法总是在一个类中,而不是来自不同的类
您不会得到任何错误,因为您所做的是允许的。方法加载中的
区域
方法没有重载findArea中的区域
方法;findArea
中的area
方法是彼此的重载,但它们不是findArea
中的area
方法的重载
在不相关的类中具有相同名称的方法不是重载:它们只是具有相同名称的方法