java实验报告3

java面对对象程序设计

实验报告书

实验名称:      java继承与接口       

                  

          任课老师:     李波              

学   号:      2012210922              

姓   名:       吴晗                    


 一 实验目的和要求

  掌握对一个接口的不同实现的机制

二 实验内容

1、编写一个Java应用程序,除了主类(TestOne)外,该程序中还有3个类:People、ChinaPeople和AmericanPeople。该程序具体要求如下:

1)People类有public void speakHello()、public void averageHeight() 和public void averageWeight()方法。

2)ChinaPeople类是People的子类,新增了public void chinaGongfu()方法。要求ChinaPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法。

3)AmericanPeople类是People的子类,新增public void americanBoxing()方法。要求AmericanPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法。

4)在TestOne类的主方法中分别创建各子类的对象并调用各自的方法打印输出信息。

即AmericanPeople类与ChinaPeople类同时继承People类,并对People类中已经有的方法进行重写,然后定义子类特有的方法,在一个测试类中创建这两个子类的对象,并调用这些子类的方法,观察结果的不同。

2、编写一个Java应用程序,除了主类(TestTwo)外,该程序还有Shape接口、三角形类Triangle类、矩形Rectangle类。该程序具体要求如下:

1)Shape接口public abstract double computeArea(double a,double b)抽象方法。

2)Triangle类实现Shape接口,完成计算面积的功能:用a代表三角形的底、b代表三角形的高。

3)Rectangle类实现Shape接口,完成计算面积的功能:有a代表矩形的底、b代表矩形的高。

4)在TestTwo类的主方法中分别创建各子类的对象并调用各自的计算面积的方法,并打印输出信息面积信息。(要求使用到多态性)

即Rectangle类与Triangle类同时实现Shape接口,并实现Shape接口中的抽象方法computeArea()方法。在TestTwo测试类中实例化Rectangle和Triangle这两个类的对象,并调用同名函数computeArea()方法,同时传参,体会JAVA的多态。

三 实验环境

 pc

四 核心源代码

 //People.java

class People{

 protected double weight,height;

 public void speakHello(){

  System.out.println("你好,吃了吗?");

 }

 public void averageHeight(){

  height=170;

  System.out.println("人类的平均身高:"+height);

 }

 public void averageWeight(){

  weight=67.34;

  System.out.println("人类的平均体重:"+weight);

 }

}

//ChinaPeople.java

class ChinaPeople extends People{

  public void speakHello(){

  System.out.println("你好,吃了吗?");

  }

  public void averageHeight(){

   height=168.78;

   System.out.println("中国人的平均身高:"+height+"厘米");

  }

  public void averageWeight(){

   weight=65;

   System.out.println("中国人的平均体重:"+weight+"公斤");

  }

  public void chinaGongfu(){

    System.out.println("坐如钟,站如松睡,如弓");

   }

}

//AmericanPeople.java

class AmericanPeople extends People{

    public void speakHello(){

    System.out.println("How are you");

    }

    public void averageHeight(){

    height=176;

    System.out.println("American's average height:"+height+"cm");

    }

    public void averageWeight(){

    weight=75;

    System.out.println("American's average weight:"+weight+"kg");

    }

    public void americanBoxing(){

    System.out.println("直拳、勾拳、组合拳");

    }

}

//TestOne.java

public class TestOne{

  public static void main(String args[]){

     ChinaPeople chinaPeople=new ChinaPeople();

     AmericanPeople americanPeople=new AmericanPeople();

     chinaPeople.speakHello();

     americanPeople.speakHello();

     chinaPeople.averageHeight();

     americanPeople.averageHeight();

     chinaPeople.averageWeight();

     americanPeople.averageWeight();

     chinaPeople.chinaGongfu();

     americanPeople.americanBoxing();

    }

}

//Shape.java

public interface Shape{

  public abstract double computerArea(double a,double b);

}

//Triangle.java

public class Triangle implements Shape{

   public double computerArea(double a,double b){

   double area;

   area=a*b/2;

   return area;

  }

}

//Rectangle.java

public class Rectangle implements Shape{

   public double computerArea(double a,double b){

   double area;

   area=a*b;

   return area;

   }

}

//TestTwo.java

public class TestTwo{

   public static void main(String args[]){

    double a=3;

    double b=5;

    Triangle A;

    Rectangle B;

    A=new Triangle();

    B=new Rectangle();

    double result=A.computerArea(a,b);

    System.out.println("三角形的面积:"+result);

    result=B.computerArea(a,b);

    System.out.println("矩形的面积:"+result);

   }

}

五 实验结果及分析

 

第二篇:Java程序设计实验报告3

2011/20##学年第二学期《Java程序设计》实验报告

相关推荐