接口
下面有一个接口:
interface Shape
{
static double PI=3.14159
double area( );//计算面积
double volume( );//计算体积
}
请写出
- 正方体、圆柱类、圆锥类(自己命名类名称),要求实现shape接口。
- 为每个类编写构造方法。
- 每个类要求写出计算表面积和体积的方法。
- 设计类 class Test ,要求在类Test中的主方法main中创建正方体,圆柱类,圆锥类的对象,并且计算表面积、体积并输出。
interface Shape{
static double PI=3.14159;
double area();
double volume();
}
class zfx implements Shape{
private float a;
public zfx(float a) {
this.a=a;
}
@Override
public double area() {
return a*a*6;
}
@Override
public double volume() {
// TODO Auto-generated method stub
return a*a*a;
}
}
class zhu implements Shape{
private float r,h;
public zhu(float r,float h) {
this.r=r;
this.h=h;
}
@Override
public double area() {
return Shape.PI*r*r*2+2*Shape.PI*r*h;
}
@Override
public double volume() {
return r*r*h*Shape.PI;
}
}
class zhui implements Shape{
private float r,h;
public zhui(float r,float h) {
this.r=r;
this.h=h;
}
@Override
public double area() {
float l=(float) Math.sqrt(r*r+h*h);
return Shape.PI*r*(r+l);
}
@Override
public double volume() {
return r*r*h*Shape.PI/3.0;
}
}
public class Test {
public static void main(String[] args) {
zfx z1=new zfx(5);
zhu z2=new zhu(3, 4);
zhui z3=new zhui(3, 4);
System.out.printf("正方体的表面积%.2f 体积:%.2f\n",z1.area(),z1.volume());
System.out.printf("圆柱的的表面积%.2f 体积:%.2f\n",z2.area(),z2.volume());
System.out.printf("圆锥的的表面积%.2f 体积:%.2f\n",z3.area(),z3.volume());
}
}
抽象类
- 创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。
- 创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。
- 创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。
abstract class Vehicle{
public abstract String NoOfWheels();
}
class Car extends Vehicle{
@Override
public String NoOfWheels() {
return "四轮车";
}
}
class Motorbike extends Vehicle{
@Override
public String NoOfWheels() {
return "双轮车";
}
}
public class Oth {
public static void main(String[] args) {
Car c1=new Car();
Motorbike c2=new Motorbike();
System.out.println("c1是"+c1.NoOfWheels());
System.out.println("c2是"+c2.NoOfWheels());
}
}