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