📄 example03_interface.java
字号:
package example;
/* 接口示例 */
interface CalculateArea
{
/*public abstract*/ double getArea();
}
class Trapezia implements CalculateArea
{
double top, bottom, height;
Trapezia(double top,double bottom,double height)
{
this.top = top;
this.bottom = bottom;
this.height = height;
}
public final double getArea()
{
return (top + bottom) * height / 2.0;
}
}
class Triangle implements CalculateArea
{
double a, b, c;
Triangle(double aSide,double bSide,double cSide)
{
a = aSide;
b = bSide;
c = cSide;
}
public double getArea()
{
double s = (a + b + c) / 2.0;
return Math.sqrt((s * (s - a) * (s - b) * (s - c)));
}
}
class Circle implements CalculateArea
{
double r;
Circle(double radius)
{
r = radius;
}
public double getArea()
{
return Math.PI * r * r;
}
}
class Taper
{
CalculateArea bottArea;
double height;
Taper(CalculateArea bottArea,double h)
{
this.bottArea = bottArea;
height = h;
}
double getVolume()
{
return bottArea.getArea() * height / 3.0;
}
}
public class Example03_Interface
{
public static void main(String[] args)
{
CalculateArea ca;
ca = new Trapezia(10, 10, 10);
System.out.println("Trapezia Area=" + ca.getArea());
ca = new Triangle(3, 4, 5);
System.out.println("Triangle Area=" + ca.getArea());
ca = new Circle(10);
System.out.println("Circle Area=" + ca.getArea());
Taper taper = new Taper(ca, 10);
System.out.println("Trapezia Volume=" + taper.getVolume());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -