按如下要求编写Java程序:
(1)定义接口A,里面包含值为3.14的常量PI和抽象方法double area()。
(2)定义接口B,里面包含抽象方法void setColor(String c)。
(3)定义接口C,该接口继承了接口A和B,里面包含抽象方法void volume()。
(4)定义圆柱体类Cylinder实现接口C,该类中包含三个成员变量:底圆半径radius、圆柱体的高height、颜色color。
(5)创建主类来测试类Cylinder。
interface A{
double PI=3.14;
double area();
}
interface B{
void setColor(String c);
}
interface C extends A,B{
void volume();
}
class Cylinder implements C{
double radius,height;
String color;
Cylinder(double radius,double height,String color){
this.radius=radius;
this.height=height;
this.color=color;
}
public double area() {
return (2*PI*radius*radius+2*PI*radius*height);
}
public void setColor(String c) {
System.out.println("颜色是"+c);
}
public void volume() {
System.out.println("体积是"+PI*radius*radius*height);
}
}
public class ceshi20 {
public static void main(String[] args)
{
Cylinder cy=new Cylinder(2,5,"绿色");
System.out.println("表面积是"+cy.area());
cy.setColor("绿色");
cy.volume();
}
}
按如下要求编写Java应用程序:
(1)编写一个用于表示战斗能力的接口Fightable,该接口包含:整型常量MAX;方法void win(),用于描述战斗者获胜后的行为;方法int injure(int x),用于描述战斗者受伤后的行为。
(2)编写一个非抽象的战士类Warrior,实现接口Fightable。该类中包含两个整型变量:经验值experience和血液值blood。当战士获胜后经验值会增加,而受伤后血液值会减少x,并且当战斗者的血液值低于MAX时会输出危险提示。
(3)编写战士类Warrior的子类BloodWarrior,该类创建的战士在血液值低于MAX/2时才会输出危险提示。
(4)编写主类TestWarrior,对上述接口和类进行测试。
interface Fightable{
int Max=100;
void win();
int injure(int x);
}
class Warrior implements Fightable{
int experience=10;
int blood=120;
public void win(){
experience++;
}
public int injure(int x){
blood=blood-x;
if(blood<Max)
System.out.println("危险!");
else
System.out.println("安全!");
return blood;
}
}
class BloodWarrior extends Warrior{
public int injure(int x){
blood=blood-x;
if(blood<Max/2)
System.out.println("危险!");
else
System.out.println("安全!");
return blood;
}
}
public class Test {
public static void main(String[] args) {
Warrior w=new Warrior();
Fightable f=w;
BloodWarrior b=new BloodWarrior();
Fightable fi=b;
f.injure(10);
fi.injure(30);
f.injure(50);
fi.injure(100);
f.win();
fi.win();
}
}