📄 5例子14.txt
字号:
Example5_14.java :
public class Example5_14{
public static void main(String args[]){
Pillar pillar;
Geometry tuxing; //接口变量
tuxing=new Lader(12,22,100);
System.out.println("梯形的面积"+tuxing.getArea());
pillar =new Pillar (tuxing,58);
System.out.println("梯形底的柱体的体积"+ pillar.getVolume());
tuxing=new Circle(10);
System.out.println("半径是10的圆的面积"+tuxing.getArea());
pillar.changeBottom(tuxing);
System.out.println("圆形底的柱体的体积"+pillar.getVolume());
}
}
Geometry.java:
public interface Geometry{
public abstract double getArea();
}
Pillar.java:
public class Pillar{
Geometry bottom; //将bottom接口变量作为成员
double height;
Pillar (Geometry bottom,double height){
this.bottom=bottom;
this.height=height;
}
void changeBottom(Geometry bottom){
this.bottom=bottom;
}
public double getVolume(){
return bottom.getArea()*height; //bottom可以回调类实现的接口方法getArea()
}
}
Lader.java:
public class Lader implements Geometry{
double a,b,h;
Lader(double a,double b,double h){
this.a=a;this.b=b;this.h=h;
}
public double getArea(){
return((1/2.0)*(a+b)*h);
}
}
Circle .java:
public class Circle implements Geometry{
double r;
Circle(double r){
this.r=r;
}
public double getArea(){
return(3.14*r*r);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -