CD.java
public class CD { int size; int content[];
public void setSize(int size) { this.size = size; content = new int[size]; }
public int getSize() { return size; }
public int [] getContent() { return content; }
public void setContent(int [] b) {
int min=Math.min(content.length,b.length); for(int i=0;i Computer.java public class Computer { int data[]; CD includeCD; public void putCD(CD cd) { includeCD = cd; int size=includeCD.getSize(); data=new int[size]; } void copyToComputer() { int [] b = includeCD.getContent(); int min=Math.min(data.length,b.length); for(int i=0;i public void addData(int m) { for(int i=0;i void copyToCD() { includeCD.setContent(data); } void showData() { for(int i=0;i } } User.java public class User { public static void main(String args[]) { CD dataCD = new CD(); int b[] ={1,2,3,4,5,6,7,8}; dataCD.setSize(b.length); dataCD.setContent(b); int a[]=dataCD.getContent(); System.out.println(\上的内容:\ for(int i=0;i 【代码1】//computerIMB调用putCD(CD cd)方法,将dataCD的引用传递给cd System.out.println(\将dataCD的数据复制到计算机:computerIMB.\ 【代码2】//computerIMB调用copyToComputer()方法 System.out.println(\上的内容:\ computerIMB.showData(); int m=12; System.out.println(\将每个数据增加\ computerIMB.addData(m); System.out.println(\将增值后的数据复制到CD:dataCD\ 【代码3】//computerIMB调用copyToCD()方法 System.out.println(\上的内容:\ a=dataCD.getContent(); for(int i=0;i System.out.printf(\ } } 实验内容要求:将【代码】部分替换为java程序代码。 实验报告要求:要有实验名称,实验目的,实验要求,实验内容(源代码),运行结果和总结。 实验3家族的姓氏 实验教学目标: 掌握类变量和实例变量以及类方法和实例方法的区别。 实验场地或主要设备与器材:计算机 实验要求:模拟一个家族成员的姓氏,姓名有两部分构成:姓氏和名字。编写一个FamilyPerson类,该类有一个静态的String型成员变量surname,用于存储姓氏,一个实例的String型成员变量name,用于存储名字。在主类MainClass的main方法中首先用类名访问surname,并为surname赋值,然后FamilyPerson创建3个对象,father,sonOne和sonTwo,并分别为father,sonOne和sonTwo的成员变量name赋值。 实验内容: FamilyPerson.java public class FamilyPerson { static String surname; String name; public static void setSurname(String s){ surname = s; } public void setName(String s) { name = s; } } MainClass.java public class MainClass { public static void main(String args[]) { 【代码1】 //用类名FamilyPerson访问surname,并为surname赋值:\李\ FamilyPerson father,sonOne,sonTwo; father = new FamilyPerson(); sonOne = new FamilyPerson(); sonTwo = new FamilyPerson(); 【代码2】 //father调用setName(String s),并向s传递\向阳\ sonOne.setName(\抗日\ sonTwo.setName(\抗战\ System.out.println(\父亲:\ System.out.println(\大儿子:\ System.out.println(\二儿子:\ 【代码3】// father调用setSurName(String s),并向s传递\张\ System.out.println(\父亲:\ System.out.println(\大儿子:\ System.out.println(\二儿子:\ } } 实验内容要求:将【代码】部分替换为java程序代码。 实验报告要求:要有实验名称,实验目的,实验要求,实验内容(源代码),运行结果和总结。 实验项目五:继承与接口 实验1 中国人和美国人 实验教学目标: 巩固子类的继承性,子类对象的创建过程以及方法的继承和重写。 实验场地或主要设备与器材:计算机 实验要求: 编写程序模拟中国人、美国人和北京人。要求如下: People类有权限为protected的double型成员变量:weight和height,以及public void speakHello()、public void averageHeight()和public void averageWeight()。 ChinaPeople类是People的子类,增加了public void chinaGongfu()方法。要求ChinaPeople重写public void speakHello()、public void averageHeight()和public void averageWeight()方法。 AmericanPeople类是People的子类,增加了public void americanBoxing()方法。要求AmericanPeople重写public void speakHello()、public void averageHeight()和public void averageWeight()方法。 BeijingPeople 类是 ChinaPeople的子类,增加了public void beijingOpera()方法。 要求BeijingPeople重写public void speakHello()、public void averageHeight()和public void averageWeight()方法。 实验内容: People.java public class People { protected double weight,height; public void speakHello() { System.out.println(\ } public void averageHeight() { height=173; System.out.println(\ } public void averageWeight() { weight=70; System.out.println(\ } } ChinaPeople.java public class ChinaPeople extends People { public void speakHello() { System.out.println(\您好\ } public void averageHeight() { height = 168.78; System.out.println(\中国人的平均身高:\厘米\ } 【代码1】 //重写public void averageWeight()方法,输出:\中国人的平均体重:65公斤\ public void chinaGongfu() { System.out.println(\坐如钟,站如松,睡如弓\ } } AmericanPeople.java public class AmericanPeople extends People { 【代码2】 //重写public void speakHello()方法,输出\ 【代码3】 //重写public void averageHeight()方法,输出\ public void averageWeight() { weight = 75; System.out.println(\ } public void americanBoxing() { System.out.println(\直拳、钩拳、组合拳\ } } BeijingPeople.java public class BeijingPeople extends ChinaPeople { 【代码4】 //重写public void averageHeight()方法, 输出:\北京人的平均身高:172.5厘米\ 【代码5】 //重写public void averageWeight()方法,输出:\北京人的平均体重:70公斤\ public void beijingOpera() { System.out.println(\花脸、青衣、花旦和老生\ } } Example.java 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(); } } 实验内容要求:将【代码】部分替换为java程序代码。 实验报告要求:要有实验名称,实验目的,实验要求,实验内容(源代码),运行结果和总结。 实验2银行与利息 实验教学目标: 掌握重写的目的以及怎样使用super关键字。 实验场地或主要设备与器材:计算机 实验要求: 假设银行Bank已经有了按整年year计算利息的一般方法,其中year只取整数。如按年计算的方法: double computerInterest() { interest=year*0.05*savedMoney; return interest; } 建设银行ConstructionBank是Bank的子类,准备隐藏继承的成员变量year,并重写计算利息的方法,即ConstructionBank声明了一个double型的year变量,比如,当year取值为5.216时,表示要计算5年零216天的利息,但希望首先按照Bank类的方法computerInterest()计算出5整年的利息,然后ConstructionBank再计算216天的利息。那么ConstructionBank类就必须把5.216的整数部分赋值给隐藏的year,并让super调用隐藏的按整年计算利息的方法。 要求ConstructionBank和BankOfDalian都是Bank的子类,ConstructionBank和