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);
}
}