- 1.第1题:定义接口Movable,接口中包含抽象方法move()。定义接口Soundable,接口中包含方法sound()。定义Person类的子类Teacher类和Worker类实现Movable接口和Soundable接口。在测试类Main中,创建Teacher类和Worker类的实例,输出相应的信息。
- 2.在教材程序16.9中的接口Calculatable增加方法getPerimeter(),该方法计算桌子的周长。圆桌类RoundTable和方桌类RectTable类实现Calculatable接口。在测试类Main中,创建RoundTable类和RectTable类的实例,计算并输出半径为30的圆桌面积和周长,计算并输出长宽为60、40的方桌面积和周长。
1.第1题:定义接口Movable,接口中包含抽象方法move()。定义接口Soundable,接口中包含方法sound()。定义Person类的子类Teacher类和Worker类实现Movable接口和Soundable接口。在测试类Main中,创建Teacher类和Worker类的实例,输出相应的信息。
输出结果:
王老师在讲台上走动!
张工在车间走动!
王老师正在上课!
噪声太大听不清楚!
要求:
(1)必须使用继承
(2)必须使用实现接口
(3)试着使用上转型和下转型
interface Movable{public void move();}interface Soundable{public void sound();}abstract class Person{}class Teacher extends Person implements Movable,Soundable{public Teacher(){}public void move(){System.out.println("王老师在讲台上走动!");}public void sound(){System.out.println("王老师正在上课!");}}class Worker extends Person implements Movable,Soundable{public Worker(){}public void move(){System.out.println("张工在车间走动!");}public void sound(){System.out.println("噪声太大听不清楚!");}}public class Main{public static void main(String [] args){//Person m=new Teacher();//m.move();//报错Movable m=new Teacher();//上转型Teacher m1=(Teacher)m;//下转型m1.move();Movable n=new Worker();n.move();Soundable m2=new Teacher();m2.sound();Soundable n2=new Worker();n2.sound();}}
2.在教材程序16.9中的接口Calculatable增加方法getPerimeter(),该方法计算桌子的周长。圆桌类RoundTable和方桌类RectTable类实现Calculatable接口。在测试类Main中,创建RoundTable类和RectTable类的实例,计算并输出半径为30的圆桌面积和周长,计算并输出长宽为60、40的方桌面积和周长。
输出结果:
圆桌面积:2826.0
圆桌周长:188.4
方桌面积:2400.0
方桌周长:200.0
要求:必须使用实现接口
说明:程序没有输入
interface CalculateAble{public double getArea();public double getPerimeter();}class RoundTable implements CalculateAble{private int r;public RoundTable (int r){this.r=r;}public double getArea(){return 3.14*r*r;}public double getPerimeter(){return 2*3.14*r;}}class RectTable implements CalculateAble{private int length;private int wide;public RectTable(int length,int wide){this.length=length;this.wide=wide;}public double getArea(){return length*wide;}public double getPerimeter(){return 2*(length+wide);}}public class Main{public static void main(String [] args){CalculateAble a=new RoundTable(30);System.out.println("圆桌面积:"+a.getArea());System.out.println("圆桌周长:"+a.getPerimeter());CalculateAble b=new RectTable(60,40);System.out.println("方桌面积:"+b.getArea());System.out.println("方桌周长:"+b.getPerimeter());}}
