java练习-接口

按如下要求编写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();	
    }
}

你可能感兴趣的:(java)