java练习-接口

本文提供了一个Java编程练习,涉及接口的使用和类的实现。包括定义接口A、B、C,接口C继承A和B,圆柱体类Cylinder实现接口C。同时,还介绍了表示战斗能力的接口Fightable,战士类Warrior及其子类BloodWarrior,以及测试类TestWarrior。通过这些示例,展示了Java中接口和类的交互以及继承、多态的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

按如下要求编写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();	
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值