JAVA基础知识练习1(含答案).doc_第1页
JAVA基础知识练习1(含答案).doc_第2页
JAVA基础知识练习1(含答案).doc_第3页
JAVA基础知识练习1(含答案).doc_第4页
JAVA基础知识练习1(含答案).doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA基础知识练习(含答案)一、思考题1.Overload(方法重载)和Override(方法覆盖)的区别。答:相同点:都要求方法同名都可以于于抽象方法和非抽象方法之间不同点:方法覆盖要求参数签名必须一致,而方法重载要求参数签名必须不一致。方法覆盖要求返回类型必须一致,而方法重载不做限制。方法覆盖只能用于子类覆盖父类的方法,方法重载用于同一个类的所有方法(包括从父类中继承而来的方法)。方法覆盖对方法的访问权限和抛出的异常有特殊的要求,而方法重载没有限制。父类的一个方法只能被子类覆盖一次,而一个方法所在的类中可以被多次重载2.在创建派生类的对象的时候,基类与派生类中构造方法的调用顺序怎样?答:编译器会一直上溯到最初类,执行该类构造方法,然后依次执行各子类构造函数3.比较this和super的区别答:this是引用本对象,super是引用父类的对象。4.什么是多态?面向对象程序设计为什么要引入多态的特性?使用多态有什么优点?答:多态基本含义是“拥有多种形态”,具体指在程序中用相同的名称来表示不同的含义。例如:用同一方法名来表示不同的操作;面向对象程序设计引入多态特征的原因是,使程序更具有可读性,重复利用性;采用多态技术的优点:引进多态技术之后,尽管子类的对象千差万别,但都可以采用 基类引用.方法名(参数)统一 方式来调用,在程序运行时能根据子对象的不同得到不同的结果。这种“以不变应万变”的形式可以规范、简化程序设计,符合软件工程的“一个接口,多种方法”思想。二、编程题1.类、对象、方法、继承(1) 声明矩形类Rect,它封装了:两个成员变量(访问权限为private):float length; /矩形的长度,float类型float width; /矩形的宽度,float类型9个成员方法(访问权限均为public):Rect() /默认构造方法Rect(float l, float w) /带参数的构造方法void setLength(float l) /改变矩形的长度float getLength() /得到矩形的长度void setWidth(float w) /改变矩形的宽度float getWidth() /得到矩形的宽度String toString() /输出矩形信息。返回形如: 长度: xxx, 宽度:xxx” /字符串(其中:xxx表示相应的数值).float getPerimeter()/得到矩形的周长float getArea()/得到矩形的面积(2) 再定义一个长方体类Recter,它继承了矩形类Rect (上一题已定义),并增加了:一个成员变量(访问权限为private):height/长方体的高度,float类型三个成员方法(访问权限均为public):Recter (float l, float w,float h) /带参数的构造方法,/需要调用基类带参数构造方法.float getVolume( ) /返回长方体的体积 (计算公式:底面积高度)String toString()/重写toString()方法,返回形如:“矩形长度: xxx, 矩形/宽度:xxx,长方体的高度:xxx,矩形底面积:xxx,长方体/体积:xxx”字符串(其中:xxx表示相应的数值).(3) 最后定义一个主类:RectTest,在它的main()方法中创建一个矩形长度为10.5,矩形宽度为:5.5, 长方体的高度为:6.5的长方体对象ry,然后调用toString()方法输出其相应信息。2.写出下列实现多态的程序的运行结果class Animal public void display()System.out.println(我是一只动物,.);class Cat extends Animal public void display()System.out.println(我是能捉老鼠的猫,.);class Dog extends Animal public void display()System.out.println(我为主人尽忠职守的猎犬,.);public class AnimalTest public static void main(String args)Animal am=new Animal();am.display();am=new Dog();am.display();am=new Cat();am.display();程序运行结果:3.使用Math.random()方法产生50个0100的随机整数,并将它们存放到一维数组score中,然后统计各分数段上的次数(即分别在0-9,10-19,20-29,8089,90100上的次数),并将分类统计结果存入到数组result中,最后输出数组result各元素的值。4.写出下列字符串的比较程序的运行结果public class StringCompare public static void main(String args) String s1=abc;String s2=new String(abc);System.out.println(s1=s2);System.out.println(s1.equals(s2);System.out.println(pareTo(s2);程序运行结果:_5.抽象类、具体类、接口5.1根据抽象类和抽象方法定义修改下列程序中的错误:class MyAbstract int a=1;private void f();public void g();public void h() a=5;5.2接口的定义和使用(1) 定义一个接口IPerson,封装一个方法:void print()/输出人员有关信息(2) 利用IPerson接口规范,定义一个类Teacher,表示某学校教师的最基本信息。4个成员变量:工号num,姓名name, 工龄workAge,职务job;3个成员方法:Teacher (String num,String name,int workAge,String job);Teacher(String num,double workAge);输出教师的工号和工龄:print();(3) 再定义一个类Director,表示教师中的主任。主任有专门的助理。5个成员变量:工号num,姓名name,工龄workAge,职务job ,助理名assistantName;2个成员方法:Director(String num,String name,int workAge,String job,String assistantName);输出主任的工号和他的助理:print();(4) 定义一个主类Test,该类中利用Teacher类和Director类,输出每个教师的工号和工龄以及主任的助理名。程序运行结果如下图所示:教师数据:工号姓名工龄职务助理0411黄大明3主任罗琼0351蔡中华4专业负责人0840詹嘉豪1教师0302黄小玲4教师6. 异常处理方式(1) 由JVM自动进行处理,调试并运行Example7_1.java程序。public class Example7_1public static void main(String args)int x=68;int y=Integer.parseInt(args0);int z=x/y;System.out.println(y/x的值是+z);System.out.println(程序执行完!);(2) 使用try-catch-finally语句捕获并处理异常。格式:try/可能产生异常的语句catch(异常类 e)/异常处理程序catch(异常类 e)/异常处理程序 finally/必须执行的语句(3) 改写上述Example7_1.java形成代码Example7_1_1.java,使用try-catch-finally语句对所出现的异常进行捕获处理。请在(1)(2)处补充合适的代码,使程序正常运行。class Example7_1_1public static void main(String args)tryint x=68;int y=Integer.parseInt(args0);int z=x/y;System.out.p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论