已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告湖南大学信息科学与工程学院 2013 年 第 学期专 业: 测控技术与仪器 课程名称: Java程序设计 班 级: 测控一班 姓 名: 李翔粤 学号: 201207040108 指导教师: 文佳宝 配套用书:Java程序设计教程张永强等著 清华大学出版社 2010年1月实验09:面向对象编程基础(二)实验目的:1. 理解访问控制修饰符的作用;2. 理解static的作用和使用方法3. 理解继承的概念4. 掌握package的作用实验要求和过程1. 下列程序有错误,调试、写出错误原因并改正。 public class VariableScope public static void main(String args) int i=10; int k=10;System.out.println(i=+i);System.out.println(k=+k);System.out.println(i=+i);System.out.println(k=+k); 原因:K不是全局变量,所以第二个System.out.println(k=+k); 中的k没有意义。2. 写出程序运行结果,如有错误,指出原因并改正class StaticDemo static int x;int y;staticx=10;public static int getX() return x;public static void setX(int newX) x = newX;public int getY() return y;public void setY(int newY) y = newY;public static void main(String args) System.out.println(静态变量x=+StaticDemo.getX();System.out.println(实例变量y=+StaticDemo.getY(); StaticDemo a= new StaticDemo();StaticDemo b= new StaticDemo();a.setX(1);a.setY(2);b.setX(3);b.setY(4);System.out.println(静态变量a.x=+a.getX();System.out.println(实例变量a.y=+a.getY();System.out.println(静态变量b.x=+b.getX();System.out.println(实例变量b.y=+b.getY();System.out.println(实例变量y=+StaticDemo.getY(); 程序错误:y不是static类,不能用类名.方法名来访问应在创建a,b对象后:System.out.println(“实例变量y=”+b.getY();3. 首先预测下列程序的运行结果,然后编译、执行以验证你的预测:class Petprotected String name;public Pet(String n)name = n;public String getName()return name;public String move()return run;public String speak()return ;public String toString()return My pet + name;class Dog extends Petprotected int weight;public Dog(String s)super(s);class PetTestpublic static void main(String args)Pet myPet = new Pet(George);Dog myDog = new Dog(Spot);System.out.println(myPet.toString() + n + Speak: + myPet.speak() +n + myPet.move() + + myPet.getName() + n);System.out.println(myDog.toString() + n + Speak: + myDog.speak() +n + myDog.move() + +myDog.getName() + n);实验结果:My Pet GeorgeSpeak: run GeorgeMy Pet SpotSpeak: run Spot1) 修改Dog类的构造函数,使之可以初始化Dog类中的weight值。public Dog(String n, int weight) super(n); this.weight = weight;2) 在Dog类中添加方法getWeight以获得其weight值。public int getWeight() return weight;3) 修改类Test,使用新的构造函数创建一个名为“snoopy”,重为10的Dog类的对象,并利用其方法输出包括重量在内的各项值Dog snoopy=new Dog(snoopy,10);System.out.println(snoopy.toString() + n + Speak: + snoopy.speak() +n +snoopy.move() + +snoopy.getName() + n);4) 要使Dog类对象的speak()方法返回值为“Woof Woof”,应如何做?修改(1)中程序,并验证你的做法。 public String speak()return Woof Woof;4. 按照要求完成程序public class Testpublic static void main(String args)System.out.println(创建父类对象:);SuperClass sc0 = new SuperClass();System.out.println(n创建第一个子类对象:);SubClass sc1 = new SubClass();System.out.println(n创建第二个子类对象:);SubClass sc2 = new SubClass(1);class SuperClassSuperClass( )System.out.println(父类的构造函数);class SubClass extends SuperClassSubClass( )System.out.println(子类的第一个构造函数);SubClass(int i)System.out.println(子类的第二个构造函数);要求:去掉SubClass的所有构造函数,然后将Test类中main方法的最后两行语句删除。预测修改后程序的运行结果,并进行验证。未删的结果:创建父类对象:父类的构造函数创建第一个子类对象:父类的构造函数子类的第一个构造函数创建第二个子类对象:父类的构造函数子类的第二个构造函数创建父类对象:父类的构造函数创建第一个子类对象:父类的构造函数5. 按照要求完成程序:1) 第一个类是图形类(Shape),含有一个成员变量color(字符串类型),一个没有参数的构造方法,以及一个有一个字符串类型参数的构造方法来初始化颜色变量,还有一个返回颜色变量值的成员方法show,以及一个抽象方法getArea获取面积,返回值为double类型;2) 第二个类是圆形类(Circle)继承自图形类,含有一个成员变量半径r,有一个有两个参数的构造方法,来初始化颜色和半径,一个方法getArea,返回值为double,获取圆的面积值。3) 第三个类是矩形类(Rectangle)继承自图形,含有两个double类型的成员变量长a和宽b,有一个有三个参数的构造方法,来初始化颜色、长和宽,一个方法getArea,返回值为double,获取矩形的面积值。4) 第四个类是测试类(TestShape),分别定义圆形类和矩形类的实例对象,并用show方法,getArea方法来测试自己的定义1)public abstract class Shape String color;public Shape() super();public Shape(String color) super();this.color = color;public String show() return color;public abstract double getArea();2)public class Circle extends Shape double r;double PI=3.14;public Circle(String color,double r) this.color=color;this.r = r;public double getArea()return PI*r*r;3)public class Rectangle extends Shape double a;double b;public Rectangle(String color,double a, double b) this.color=color;this.a = a;this.b = b;public double getArea()return a*b;4)public class TestShape /Shape shape=new Shape(green);public static void main(String args)Circle circle =new Circle(green
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肾内科透析护理技巧指南
- 急诊科创伤性休克抢救技巧教程
- 检验科病原体检测实验规范
- 急诊科抢救危重疑难病例要点
- 2025合同订立必须遵循这些步骤
- 2025年家庭护理服务合同范本
- 2025关于建筑工程贷款合同范本
- 2025贷款担保合同协议书
- 食品销售培训课件
- 胃镜检查前后指导要点
- 派出所制度管理制度
- 文化遗产语义组织方法-洞察及研究
- 2025广东食品药品职业学院教师招聘考试试题
- 英语四级必考词汇
- 2025年广东省深圳市福田区中考历史二模试卷
- 2025年滨州无棣县润禹水务集团有限公司招聘笔试参考题库附带答案详解
- 房地产销售全流程解析
- 九年级数学上册专题练习五相似三角形的基本模型
- 劳动关系协调师
- 2025年物业管理成本控制计划
- 知识产权规划
评论
0/150
提交评论