上机实践4 类的重用(有答案的)

  • 格式:pdf
  • 大小:108.36 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

z People 类有访问权限是 protected 的 double 型成员 变量:height 和 weight, 以及 public void speakHello()、 public void averageHeight() 和 public void averageWeight()方法 z ChinaPeople 类是 People 的子类, 新增了 public void chinaGongfu()方法。要求 ChinaPeople 重写父类的 public void speakHello()、 public void averageHeight() 和 public void averageWeight()方法 z AmericanPeople 类是 People 的子类,新增 public void americanBoxing()方法,要求 AmericanPeople 重写父类的 public void speakHello()、public void averageHeight()和 public void averageWeight()方法 z BeijingPeople 类是 ChinaPeople 的子类, 新增 public void beijingOpera()方法,要求 BeijingPeople 重写父 类 的 public void speakHello() 、 public void averageHeight()和 public void averageWeight()方法 ¾ 参考程序模板:
¾ 参考程序答案:
【代码 1】 : public void speakHello()
{ System.out.println("你好,吃饭了吗?"); }
【代码 2】 :
public void averageHeight() { height=173; System.out.println("中国人的平均身高:"+height+"厘米"); }
【代码 7】 :
public void averageWeight() { weight=80.23; System.out.println("Amerian Average weight:"+weight+" kg"); } 【代码 8】 : System.out.println("直拳、钩拳");
class People { protected double weight,height;
2
计算机科学与工程学院-----蒋社想 public void speakHello() {System.out.println("yayawawa”); } public void averageHeight() {height=173; System.out.println("average height:”+height); } public void averageWeight() { weight = 70; System.out.println("average weight:”+weight); } } class ChinaPeople extends People { [代码 1]//重写 public void speakHello()方法,要求输出"你好,吃饭了吗"汉语信息 [代码 2]//重写 public void averageHeight()方法,要求输出"中国人的平均身高:173.0 厘米"汉语信息 [代码 3]//重写 public void averageWeight()方法,要求输出"中国人的平均体重:67.34 公斤"汉语信息 public void chinaGongfu() { [代码 4]//输出中国武术信息,例如:"坐如钟,站如松,睡如弓" } } class AmericanPeople extends People { [代码 5]//重写 public void speakHello()方法,要求输出"How do you do" [代码 6]//重写 public void averageHeight()方法 [代码 7]//重写 public void averageWeight()方法 public void chinaGongfu() { [代码 8]//输出拳术信息,例如:"直拳、勾拳" } } class BeijingPeople extends ChinaPeople { [代码 9]//重写 public void speakHello()方法,要求输出"您好,这里是北京" [代码 10]//重写 public void averageHeight()方法 [代码 11]//重写 public void averageWeight()方法 public void chinaGongfu() { [代码 12]//输出京剧信息,例如:"京剧术语"
【代码 9】 :
public void speakHello() { System.out.println("您好"); }
【代码 10】 :
public void averageHeight() { height=16; System.out.println("北京人的平均身高:"+height+"厘米"); }
public void speakHello() { System.out.println("How do You do"); }
【代码 6】 :
public void averageHeight() { height=188; System.out.println("Amerian Average height:"+height+" cm"); }
计算机科学与工程学院-----蒋社想
上机实践四
类的重用
继承是一种由已有的类创建新类的机制。利用继承,可以先 创建一个共有属性的一般类,根据该一般类再创建具有特殊 属性的新类,新类继承一般类的状态和行为,并根据需要增 加它自己的新的状态和行为。由继承而得到的类称为子类, 被继承的类成为父类,父类可以是 Java 类库中的类,也可以 是你自己编写的类,利用继承可以有效地实现代码的重用 性。 Java 使用 java.lang 包中的 String 类来创建一个字符串变量, 因此字符串变量是一个对象。 程序有时需要处理大整数,java.math 包中的 BigInteger 类提 供任意精度的整数运算,可以使用构造方法: public BigInteger(String val)构造一个十进制的 BigInteger 对 象 , 但 参 数 val 必 须 是 合 法 的 数 值 字 符 串 否 则 会 发 生 NumberFormatException 异常。
【代码 3】 :
public void averageWeight() { weight=67.34; System.out.println("中国人的平均体重:"+weight+"公斤"); }
4
计算机科学与工程学院-----蒋社想 【代码 4】 : System.out.println("坐如钟,站如松,睡如弓"); 【代码 5】 :
3
计算机科学与工程学院-----蒋社想 } } public class Example { public static void main(String args[]) { ChinaPeople chinaPeople = new ChinaPeople(); AmericanPeople americanPeople = new AmericanPeople(); BeijingPeople beijingPeople = new BeijingPeople(); chinaPeople.speakHello(); americanPeople.speakHello(); beijingPeople.speakHello(); chinaPeople.averageHeight(); americanPeople.averageHeight(); beijingPeople.averageHeight(); chinaPeople.averageWeight(); americanPeople.averageWeight(); beijingPeople.averageWeight(); chinaPeople.chinaGongfu(); americanPeople.americanBoxing(); beijingPeople.beijingOpera(); beijingPeople.chinaGongfu(); } }
5
计算机科学与工程学院-----蒋社想
大小关系,检索字符串,创建子字符串,将 数字型字符串转换为数字,将字符串放到数 组中,用字符数组创建字符串。 ¾ 参考程序模板:
class StringExample { public static void main(String args[]) { String s1=new String("you are a student"), s2=new String("how are you"); if(【代码 1】) // 使用 equals 方法判断 s1 与 s2 是否相同 { System.out.println("s1 与 s2 相同"); } else { System.out.println("s1 与 s2 不相同"); } String s3=new String("22030219851022024"); if(【代码 2】) { System.out.println("吉林省的身份证"); } String s4=new String("你"), s5=new String("我"); if(【代码 3】)//按着字典序 s4 大于 s5 的表达式。 { System.out.println("按字典序 s4 大于 s5"); } else { System.out.println("按字典序 s4 小于 s5"); } int position=0; String path="c:\\java\\jsp\\A.java"; position=【代码 5】 //获取 path 中最后出现目录分隔符号的位置 System.out.println("c:\\java\\jsp\\A.java 中最后出现\\的位置:"+position); String fileName=【代码 6】//获取 path 中“A.java”子字符串。 System.out.println("c:\\java\\jsp\\A.java 中含有的文件名:"+fileName); String s6=new String("100"), s7=new String("123.678"); int n1=【代码 7】 //将 s6 转化成 int 型数据。 //判断 s3 的前缀是否是“220302” 。
z 实验目的: 1. 掌握类的继承、方法的继承和重写 2. 掌握 String 类的使用 3. 掌握 BigInteger 类的常用方法 z 实验环境 JDK1.6, EditPlus 编辑器 z 实验内容
1
计算机科学与工程学院-----蒋社想
1.
编写一个 Java 应用程序,除了主类外,该程 序中还有 4 个类: People 、 ChinaPeople 、 AmericanPeople 和 BeijingPeople 类。要求如 下:
【代码 11】 :
public void averageWeight() { weight=6; System.out.println("北京人的平均体重:"+weight+"公斤"); } 【代码 12】 : System.out.println("京剧术语"); 2.
编写一个 Java 应用程序,判断两个字符是否 相同,判断字百度文库串的前缀,后缀是否和某个 字符串相同,按字典顺序比较两个字符串的