初学java,哪位高手帮忙啊!!! 本人初学java,求助一个程序,怎么样用多态求长方形、圆形的周长和面积呢??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 构建一个多边形的抽象类,里面有面积和周长两个字段和相应的get set方法然后再构建诸如圆和长方形等的具象类继承之,相应的方法该override的override 如此这般。 public class Test{ //长方形周长 public static float getGirth(float a,float b) { return (a+b)*2; } //圆周长 public static double getGirth(float r){ return 2*3.1415926*r; } //长方形面积 public static float getArea(float a,float b){ return a*b; } //园面积 public static double getArea(float r){ return 3.1415926*r*r; } public static void main(String[] arg){ System.out.println("aaaaaaaaaaa"); System.out.println("长方形周长 : "+Test.getGirth(2,3)); System.out.println("圆周长 : "+Test.getGirth(2)); System.out.println("长方形面积 : "+Test.getArea(2,3)); System.out.println("园面积 : "+Test.getArea(2)); }}测试过的 利用接口实现的:包含set,get方法的接口:public interface JieKou{ public void setMianJi(float chang,float kuan) ; public float getMianJi() ; public void setZhouChang(float chang,float kuan) ; public float getZhouChang() ;}实现接口类:public class JiSuan implements JieKou{ float chang,kuan ; public void setMianJi(float chang,float kuan) { this.chang=chang ; this.kuan=kuan ; } public void setZhouChang(float chang,float kuan) { this.chang=chang ; this.kuan=kuan ; } public float getMianJi() { return chang*kuan ; } public float getZhouChang() { return (chang+kuan)*2 ; } public static void main(String[] args) { JiSuan js=new JiSuan() ; js.setMianJi(3.0f,2.0f) ; js.setZhouChang(3.0f,2.0f) ; System.out.println("长方形的面积为:"js.getMianJi()) ; System.out.println("长方形的周长为:"js.getZhouChang()) ; }} class Shape{ void Area(int r){}; void Girth(int r){}; void Area(int length,int width){}; void Girth(int length,int width){};}class Circle extends Shape{ void Area(int r){ System.out.println("圆面积为:"+Math.PI*Math.pow(r,2)); } void Girth(int r){ System.out.println("圆周长为:"+2*Math.PI*r); }}class Rect extends Shape{ void Area(int length,int width){ System.out.println("长方形面积为:"+length*width); } void Girth(int length,int width){ System.out.println("长方形周长为:"+(length+width)*2); }}public class Shapes { public static void main(String[] args){ Shape a=new Circle(); Shape b=new Rect(); a.Area(3); a.Girth(3); b.Area(3,2); b.Girth(3,2); }} 求助!!!鼠标响应键盘不响应 java编译报错:找不到符号 帐号被锁(急) struts1.2和struts2.0有什么区别?优缺点都有什么? 菜鸟关于线程问题,等待 人民币大小写转换问题 公司接到什么活我就得做什么活,结果我五年来先后做了vb ,c,vc++,java,前几天开会公司又说.net是大势所趋,我想这样下去我会完蛋 编译提示 调用oracle函数出现的问题 synchronized同步代码块失效的问题 java,.net,网络(ccie),信息安全;这些怎么统一起来呀 在用sleep()方法时出现的一个不我不解的问题
然后再构建诸如圆和长方形等的具象类继承之,相应的方法该override的override 如此这般。
{
//长方形周长
public static float getGirth(float a,float b)
{
return (a+b)*2;
}
//圆周长
public static double getGirth(float r){
return 2*3.1415926*r;
}
//长方形面积
public static float getArea(float a,float b){
return a*b;
}
//园面积
public static double getArea(float r){
return 3.1415926*r*r;
}
public static void main(String[] arg){
System.out.println("aaaaaaaaaaa");
System.out.println("长方形周长 : "+Test.getGirth(2,3));
System.out.println("圆周长 : "+Test.getGirth(2));
System.out.println("长方形面积 : "+Test.getArea(2,3));
System.out.println("园面积 : "+Test.getArea(2));
}
}
测试过的
包含set,get方法的接口:
public interface JieKou
{
public void setMianJi(float chang,float kuan) ;
public float getMianJi() ; public void setZhouChang(float chang,float kuan) ; public float getZhouChang() ;}
实现接口类:public class JiSuan implements JieKou
{
float chang,kuan ;
public void setMianJi(float chang,float kuan)
{
this.chang=chang ;
this.kuan=kuan ;
}
public void setZhouChang(float chang,float kuan)
{
this.chang=chang ;
this.kuan=kuan ;
}
public float getMianJi()
{
return chang*kuan ;
}
public float getZhouChang()
{
return (chang+kuan)*2 ;
}
public static void main(String[] args)
{
JiSuan js=new JiSuan() ;
js.setMianJi(3.0f,2.0f) ;
js.setZhouChang(3.0f,2.0f) ;
System.out.println("长方形的面积为:"js.getMianJi()) ;
System.out.println("长方形的周长为:"js.getZhouChang()) ;
}
}
void Area(int r){};
void Girth(int r){};
void Area(int length,int width){};
void Girth(int length,int width){};
}
class Circle extends Shape{
void Area(int r){
System.out.println("圆面积为:"+Math.PI*Math.pow(r,2));
}
void Girth(int r){
System.out.println("圆周长为:"+2*Math.PI*r);
}
}
class Rect extends Shape{
void Area(int length,int width){
System.out.println("长方形面积为:"+length*width);
}
void Girth(int length,int width){
System.out.println("长方形周长为:"+(length+width)*2);
}
}
public class Shapes { public static void main(String[] args){
Shape a=new Circle();
Shape b=new Rect();
a.Area(3);
a.Girth(3);
b.Area(3,2);
b.Girth(3,2);
}
}