Java面向对象习题

1 .编写一个Shape接口, 具有一个draw 方法, 并编写三个类Triangle,Rectangle,Diamond都实现Shape 接口。 在3个类中分别实现draw方法打印如下星阵: * **** * *** **** *** ***** **** * 编写一个测试类具有一个测试方法, 使用Shape 参数, 方法体中调用Shape的draw 方法,打印出斜体样式相应图形*

public class h1 {

	public static void main(String[] args) {
		Triangle s = new Triangle();
		s.draw();
	

	} 

}
interface Sharp{
	public void draw();}
 class Triangle implements Sharp{
	public void draw (){
		for(int i=1;i<=3;i++) {
			for(int j=1;j<=4;j++) {
				System.out.print("*");
				
			}
			System.out.println( );
		}
		
	}
	
	
	
	
}


2.多态)定义榨汁机JuiceMachine 有榨汁方法makeJuice,传入相应的水果。 如果传入的是Apple 输出 “流出苹果汁” 传入的是Orange 输出 “流出橙汁” 传入的是Banana 输出 “流出香蕉酱”


public class h2 {

	public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一种水果名称");
		String name = sc.nextLine();
	  JuiceMachine  jm = new JuiceMachine(); 
	  Class clazz = Class.forName("com.ujiuye.innerclass2."+name);
	  Object obj = clazz.newInstance();
	  Fruit f = (Fruit)obj;
	  jm.makeJuice(f);
	}

}
class JuiceMachine {
	public  void makeJuice(Fruit f) {
	  f.flow();
	}
}
class Fruit{
	public void flow() {
		
	}
	
}
class Apple extends Fruit{
	public void flow() {
		System.out.println("流出苹果汁");
	}
}

3. (多态)已知形状类 拥有一个计算面积的方法 子类 矩形、圆形、三角形 覆盖形状类的计算面积的方法 分别计算矩形、圆形、三角形的面积 已知一个Object类型数组 装有 五个(各个图形的个数不定) 矩形、圆形、三角形的对象 计算这五个对象的面积总和 设计形状类 和它的三个子类,完成上面的工作, 提示: 三角形面积等于 半周长*(半周长-边1)(半周长-边2)(半周长-边2) 的积 开根号(海伦定理)如何开根号,请自行查阅Math类

在这里插入代码片

4.3(抽象类) 雇员类(Employee-抽象类):包含抽象方法work() 和抽象方法 show() work()方法表示 工作内 show()方法表示 员工属性的介绍 程序员类:属性(姓名、工号、工资、奖金),行为(工作:软件开发) 测试工程师:属性(姓名、工号、工资),行为(工作:软件测试) 项目经理类:属性(姓名、工号、工资、奖金),行为(工作:控制进度) 要求:子类在实现时,用System.out.println()在控制台输出 例如: 程序员 work() 输出:“软件开发” show() 输出:姓名为xxx 工号为xxx …

public class h4 {
	public static void main(String[] args) {
		Employee ee = new Coder("szx", "13456", 22222, 123);
		ee.show();
		ee.work();

	}

}

abstract class Employee {
	public String name;
	public String workNum;
	public double workage;
	// 抽象方法工作

	public abstract void work();
	// 抽象方法show

	public abstract void show();
}

class Coder extends Employee {
	double bounus;

	public Coder(String name, String workNum, double salary, double bonous) {
		this.name = name;
		this.workage = workage;
		this.bonous = bonous;
		this.salary = salary;
		this.workNum = workNum;

		this.bounus = bounus;
	}

	public void work() {

		System.out.println("软件开发");
	}

	public void show() {
		System.out.println("姓名:" + name + ";工号:" + salary + ";工资:" + workage + ";奖金:" + bonous);
	}

}

你可能感兴趣的:(JavaEE)