public class Area{ int lon;
int wide;
double hight;
double PI=3.14;
double r;
double buttom;
Area(int a,int b){
int area;
lon=a;wide=b;area=lon*wide;
System.out.println(area);
}
Area(double c,double e){
double area;
buttom=c;hight=e;area=0.5*buttom*hight;
System.out.println(area);
}
Area(double f) {
double area;
r=f;area=PI*r*r;
System.out.println(area);
}
public static void main(String args[]){
Area S=new Area(5,3);
Area T=new Area(5.2,3.4);
Area p=new Area(6.4);
System.out.println("长方形的面积为:"+S.Area());
System.out.println("三角形的面积为:"+T.Area());
System.out.println("圆的面积为:"+P.Area());
}
}
刚学了几天java,很多东西还不明白,上面是我写的一个关于方法重载的习题的程序,编译错误是最后三个system语句找不到符号这是什么原因 呢 ???能帮我详细解释下什么叫方法重载吗 谢啦!!
int wide;
double hight;
double PI=3.14;
double r;
double buttom;
Area(int a,int b){
int area;
lon=a;wide=b;area=lon*wide;
System.out.println(area);
}
Area(double c,double e){
double area;
buttom=c;hight=e;area=0.5*buttom*hight;
System.out.println(area);
}
Area(double f) {
double area;
r=f;area=PI*r*r;
System.out.println(area);
}
public static void main(String args[]){
Area S=new Area(5,3);
Area T=new Area(5.2,3.4);
Area p=new Area(6.4);
System.out.println("长方形的面积为:"+S.Area());
System.out.println("三角形的面积为:"+T.Area());
System.out.println("圆的面积为:"+P.Area());
}
}
刚学了几天java,很多东西还不明白,上面是我写的一个关于方法重载的习题的程序,编译错误是最后三个system语句找不到符号这是什么原因 呢 ???能帮我详细解释下什么叫方法重载吗 谢啦!!
int wide;
double hight;
double PI=3.14;
double r;
double buttom;
Area(int a,int b){
int area;
lon=a;wide=b;area=lon*wide;
System.out.println(area);
}
Area(double c,double e){
double area;
buttom=c;hight=e;area=0.5*buttom*hight;
System.out.println(area);
}
Area(double f) {
double area;
r=f;area=PI*r*r;
System.out.println(area);
}
public static void main(String args[]){
Area S=new Area(5,3);
Area T=new Area(5.2,3.4);
Area p=new Area(6.4);
}
}
去调用构造方法,而你后面的System.out.println("长方形的面积为:"+S.Area());
这句,因为你已经声明了带参数的构造方法,所以系统就不为你提供默认的构造方法了,
所以报了你说的那个错误
至于方法重载,书上都讲的很清楚
就是指在一个类中,方法名字相同,但是参数列表或返回类型不同的一组方法,
但是值得注意的是,仅仅返回类型不同是不能叫做方法重载的,因为当我们定义的方法需要的是
副产物,也就是不需要它的返回值的时候,编译器就没有办法去辨别了
基本上书上讲的很清楚,可以看一下
public class Area{
int lon;
int wide;
double hight;
double PI=3.14;
double r;
double buttom;
double area ; //修改处1
public Area(int a,int b)
{
lon=a;wide=b;
area=lon*wide;
}
public Area(double c,double e)
{
buttom=c;
hight=e;
area=0.5*buttom*hight;
System.out.println(buttom+"++++"+hight+0.5*buttom*hight);
}
public Area(double f)
{
r=f;
area=PI*r*r;
}
public static void main(String args[]){
Area S=new Area(5,3);
Area T=new Area(5.2,3.4);
Area P=new Area(6.4);
System.out.println("长方形的面积为:"+S.area);
System.out.println("三角形的面积为:"+T.area);
System.out.println("圆的面积为:"+P.area);
}
}